读陈黎娟的《C、C++实践进阶之道,写给程序员的编程书》--关于字符和字符串、函数
关于字符和字符串:
- c中只有字符数组来存储字符串,需要先声明长度;c++中通过string类型来定义字符串。
- c++中string类型的字符串以'\0'来结尾,计算长度用strlen时不包含结尾的字符,用sizeof()函数时包含结尾字符 ---错误 更改为 计算字符串长度有 string的成员变量 size、length、capacity,表示当前字符串的包含的元素个数,不包含结尾的\0,sizeof()函数来计算一个数据类型的大小 比如char 占用 1个字符,string占用8个字符 int占用4个字符(在32位操作系统)
- 对c++使用memcpy、memset、memcmp函数时注意操作对象要为POD,即c风格的struct;
c++中函数参数传递的3种方式:
- 值传递。分三步
- 在堆栈上创建临时对象(如果对象为类类型,会调用类的构造函数)
- 函数执行,操作临时对象
- 函数结束,释放掉临时对象(如果临时对象为类类型,会调用析构函数)
- 引用传递,即使形参是类类型,也不会调用构造和析构函数。分三步
- 在堆栈上创建引用形参,普通形参副本和局部变量
- 函数执行
- 函数退出,释放副本和局部变量
- 指针传递,创建的形参是指针,所以也不会调用构造函数和析构函数。
- 在堆栈上创建指针形参,普通形参副本和局部变量
- 函数执行
- 函数退出,释放副本和局部变量
三种方式中,值传递的执行效率和安全性高点。但对于函数形参的为较大的类数组时,则构造和析构的次数就较大了。
c++中的宏引入原因:函数调用前要保存当前函数执行的现场(即上下文环境),函数执行结束又要恢复执行前的现场,这样会有一定的时间和空间上的开销。而宏只在预处理时把宏代码展开,不需要保存现场和恢复现场。
宏不能访问对象的私有成员;且宏容易引起二义性。
函数圈复杂度:统计一个函数有多少个分支(if,while,for等)
读陈黎娟的《C、C++实践进阶之道,写给程序员的编程书》--关于字符和字符串、函数相关推荐
- c++ 读陈黎娟的《C、C++实践进阶之道,写给程序员的编程书》所感--关于变量的类型与引用
最近在看陈黎娟的书<C.C++实践进阶之道,写给程序员的编程书>,其中第十一章讲的是变量和类型,现做笔记如下: 数据存储区域分只读数据区(存储常量和恒值,正常情况下不做修改).全局/静态存 ...
- 读陈黎娟的《C、C++实践进阶之道,写给程序员的编程书》--关于指针
指针学习记录: 指针有两个属性:值和类型.值是存储的地址,类型表示所指向的变量的数据类型. 指针的类型有两个作用:1.指示编译在解引用时从内存读取几个字节:2.指示编译在进行指针类型转换时如何进行类型 ...
- 《写给程序员的数据挖掘实践指南》——5.2. 10折交叉验证的例子
本节书摘来自异步社区出版社<写给程序员的数据挖掘实践指南>一书中的第5章,第5.2节,作者:[美]Ron Zacharski(扎哈尔斯基),更多章节内容可以访问云栖社区"异步社区 ...
- 程序员超级干货书单分享!这些书年轻时一定要读!
读书的意义大概就是用生活所感去读书,用读书所感去生活. 前言 今年因为种种原因读书的频率远不如从前了,这是我要反思的点,读书如果大家一定要我挑个缺点,那我想只有是看久了眼睛累,近视容易加深吧. 我做什 ...
- 随笔 | 读《写给年轻程序员的思考书》ii
一名技术人员的能力高低,不仅仅在于编程,更多的是一种思维,越接触上层的技术与底层的原理,越是如此.当然,作为我们现在所处的位置,肯定要踏踏实实地撸代码,不要去过多思考高屋建瓴的东西.熟能生巧,手感热了 ...
- 读《编程之道》-对于程序员的抽象描述
<编程之道>的第二篇是"古代的大师(The Ancient Masters)",不知道悟道非常深的作者为何在编程大师的前面加上了个"古代"来修饰,我 ...
- 深入浅出排序学习:写给程序员的算法系统开发实践
引言 我们正处在一个知识爆炸的时代,伴随着信息量的剧增和人工智能的蓬勃发展,互联网公司越发具有强烈的个性化.智能化信息展示的需求.而信息展示个性化的典型应用主要包括搜索列表.推荐列表.广告展示等等. ...
- 全网最详细的 动态Toolbar 开发实践总结,99%的程序员都在看!
过年前发了一篇介绍 Translucent System Bar 特性的文章,收到很多开发者的关注和反馈.今天开始写第二篇,全面的介绍一下 Toolbar 的使用.说起 Toolbar ,可能有很多开 ...
- 人民邮电出版社图灵公司举办的与陈黎夫在线聊天活动——聊天记录
本期嘉宾:,csdn读书频道,陈黎夫,谢工,主持人,聊天话题:与"陈黎夫"在线交流活动 嘉宾[主持人]: 大家好,欢迎参加人民邮电出版社图灵公司举办的与陈黎夫在线聊天活动. [20 ...
最新文章
- 张亚勤、张宏江:人工智能的未来是什么?
- smarty模板引擎原理解析
- 实现点击下载文件的几种方法
- 吞吐量-Corda的故事
- CentOS 7安装Hadoop 3.0.0
- labview csv文件处理_LabVIEW 相关知识点分类汇总
- [转载] 机器学习模型的保存和调用
- bat 调用class文件_拯救写框架的程序员!用字节码替代反射,实现任意函数调用...
- 【SimpleITK】分割结果融合策略
- vue自定义下拉菜单,点击下拉其它空白区域,下拉消失
- 游戏安全资讯精选 2017年第十七期
- 分类:基于规则的分类技术
- Dapr for dotnet | 并发计算模型 - Virtual Actors
- 使用pyBigWig模块查看bigwig文件中的内容
- 如何降低研究生硕士论文的查重率
- 看完Alibaba“Java成长笔记”我懂了! 为什么阿里的程序员成长如此之快?
- 快速查看Mac下软件的所有快捷键— CheatSheet
- Keil(MDK-ARM)使用教程——在线调试
- DWZ富客户端框架使用手册
- python从网址爬图片协程_python协程gevent案例:爬取斗鱼美女图片