c++size_HELLOWORLDBOOK的博客-程序员宅基地_c++ size

以前求字符串大小时候一直搞A:size(s)
这是错的
正确应该是B:s.size();
这俩逻辑理解是不同的
A:size是一个函数,可以猜想它的函数体应该是

int size(string s)
{
int size=0;

return size;
}
这么理解也没啥问题也许这个函数还重载了不仅可以求字符串的大小,还可以求其他数据类型的size,但这么做肯定是不方便的,因为字符串的大小和其他类型的大小的求法有本质差别,字符串的求法应该是遍历,计数,故不好重载其他类型
sizeof可以求很多类型的数据的占用大小,应该是函数重载

所以B的可能更高

B的逻辑s.size();
字符串在c++中是一种复合数据类型,即它可以通过其他基础数据类型通过有意的结构组织而成,比如char数组,char数组完全可以表示字符串,它恰恰也是这么做的
字符串是一个类size是它的一个内置函数,只用来求字符串故它
class string
{
int size(string s)
{
}
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/HELLOWORLDBOOK/article/details/119709521

智能推荐

前端与后台交互的数据格式有哪些?_say个嗨呀的博客-程序员宅基地_常用前后端数据交互格式

前后端的交互数据格式有:json、xml及from表格;现在主流的数据格式是json;xml基本不怎么用了;from不常用但是要知道

4万程序员学了10万次的课程,今天,曝光背后的讲师!_csdn业界要闻的博客-程序员宅基地

戳蓝字“CSDN云计算”关注我们哦!进入付费时代,如今我们看似只要招招手,一切知识随手可得:管理艺术、人际关系、婚姻恋爱,拆解名著……可程序员依旧苦恼。由于开发技术迭代过快,各大厂自研...

[转载]Codeblocks+MinGW+wxWidgets搭建方法_weixin_30485291的博客-程序员宅基地

Code::Block、MinGW 和 wxWidgets 分别是三个著名的开源项目,分别是 IDE、编译器和界面库。由这三样搭建起来的全开源纯c++开发环境,功能不逊色于Visual C++,由于是开源的,这样的环境还是免费的,并且是跨平台的。^-^下面说一下在 Windows 下的搭建过程:一、编译器MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalis...

秋招春招总结,经验分享(计算机专业)_追光者2020的博客-程序员宅基地_计算机专业秋招

我很庆幸在七年前选择了计算机专业,虽然选专业完全是听从了命运的安排,直接滑档到了第五个志愿,但是我还是很感谢命运给我这样的安排,遇到了我的本科导师还有几个很好的老师,遇到了几个很好的朋友,回想起来,真好。也正因为本科学校有保研资格,我通过不懈努力来了我的研究生学校,选择了我喜欢的方向,做着学术研究,对我自己的领域说不上如数家珍,也可以算得上有了深入了解。有了一定的研究成果以及研究项目,转眼之间到了毕业的时候,毕业之前经历了漫长的找工作之旅,这趟旅程里充满了焦虑不安以及后悔。找工作的时候很迷茫,不知道选择哪

SpringDataJPA+EasyUi实现CRUD操作_xiangzhihong8的博客-程序员宅基地

Spring Data JPAJPA(Java Persistence API)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术。Spring Data JPA是Spring基于Hibernate开发的一个JPA框架,Spring Data JPA 是Spring...

netty之微信-数据传输载体 ByteBuf (八)_石猴M的博客-程序员宅基地

数据传输载体 ByteBuf 介绍在前面一小节,我们已经了解到 Netty 里面数据读写是以 ByteBuf 为单位进行交互的,这一小节,我们就来详细剖析一下 ByteBufByteBuf结构首先,我们先来了解一下 ByteBuf 的结构   以上就是一个 ByteBuf 的结构图,从上面这幅图可以看到ByteBuf 是一个字节容器,容器里面的的数据分为三个部分...

随便推点

动手学深度学习之文本预处理_哈哈哈捧场王的博客-程序员宅基地_文本预处理 深度学习

文本预处理import collectionsimport refrom d2l import torch as d2l将数据集读取到由文本行组成的列表中d2l.DATA_HUB['time_machine'] = (d2l.DATA_URL + 'timemachine.txt', '090b5e7e70c295757f55df93cb0a180b9691891a') # load一本书def read_time_machi

Python 把多个 MP4 合成一个视频_AI悦创的博客-程序员宅基地_python将多个视频合成一个视频

这两天群里有个小伙伴有一个需求, 就是把很多个视频文件 合并成一个. 期间也找了各种软件, 如格式工厂, 但是只能一次合成50个文件, 小伙伴有几千个文件需要合成, 太繁琐; 又比如会声会影, 这个剪辑是很强大, 但是软件也很大, 对电脑配置要求也高. 我只需要拼接功能, 割鸡焉用牛刀?人生苦短 我用 Python????转念一想, Python 也很擅长图形处理, 那处理视频也不在话下吧, 于是就上网搜了搜, 果然找到了简单的办法~开始安装使用主要是利用 moviepy 这个库, 里面提供了丰富的

设计模式——原型模式(Prototype)(浅克隆、深克隆)_蒋含竹的博客-程序员宅基地

文章目录原型设计模式,克隆一个苹果Code 克隆用的Apple类苹果基类可克隆的苹果(用于浅克隆)可克隆的苹果(用于深克隆)可序列化的苹果(用于深克隆)家庭作业类(用于测试原型模式性能)克隆Test浅克隆测试深克隆测试序列化、反序列化的方式实现深克隆 测试原型模式的性能测试代码:GitHub原型设计模式,克隆一个苹果Code 克隆用的Apple类苹果基类import jav...

Vue组件(一) - 二次封装ElementUI实现tree树形组件_劰的劰的博客-程序员宅基地

文章目录功能描述代码base-tree.vue:treeDemo.vue:功能描述基础功能同el-tree代码base-tree.vue:<!-- * @Description: 公共树组件 * @Author: HMM * @Date: 2021-01-11 16:23:23 * @FilePath: base-tree.vue变量: expandNode:是否展开所有节点 isShowFilter: 是否需要节点过滤 treeProps: 树形结构配置项事件: @h

Python - 常用的PyCharm的快捷键和使用场景介绍_weixin_46728614的博客-程序员宅基地

关于PyCharm的快捷键,由于数量众多,差不多有100个,相信几乎没有人会记住所有,每个人都会有自己顺手的几个,这里我将自己用着顺手,不别扭的快捷键分享出来,同时分享在哪里可以找到所有的快捷键。一、创建和编辑的需要智能跳转到下一步:Ctrl + Shift + Enter使用场景:1)当你写函数时,写完def,按下以上快捷键,括号,冒号都自动加上,并且光标自动回到函数名字填写处;2)当你代码写到最后一行,且在字符串里面写完,这个时候按下以上快捷键,光标智能换行,不影响目前的字符串等信息,需要

堆和栈_zhc_24的博客-程序员宅基地

今天遇到的一个傻逼问题!!!简直了在这段代码内要根据输入的值得到一个圆的对象,并且将这个对象的地址放到图像管理这个类的一个图像列表里。while(-1!=input_type) { if(2==input_type) { Circle a; std::cout << "Center X: "; is >> a.

推荐文章

热门文章

相关标签