再读c++primer plus 002
1.读取char值时,与读取其它基本类型一样,cin将忽略空格和换行符,函数cin.get(ch)读取输入的下一个字符(即使是空格),并将其赋给变量ch。
2.指针和const:(1)让指针指向一个常量对象,这样可以防止使用该指针来修改所指向的值。(2)将指针本身声明为常量,这样可以防止改变指针指向的位置。
3.执行函数调用语句时,程序将在函数调用后立即存储该指令的内存地址,并将函数参数复制到堆栈,跳到标记函数起点的内存单元,执行函数代码(也许还需将返回值放到寄存器中),然后跳回到地址被保存的指令处。
4.内联函数:(1)对于内联代码,程序无需跳到另一个位置处执行代码,再跳回来。因此内联函数的运行速度比常规函数稍快,但代价是需要占用更多的内存。应有选择的使用内联函数,如果代码执行时间短,才推荐使用,另外内联函数不能递归。
(2)在函数声明前加上关键字inline或者在函数定义前加上关键字inline。
(3)内联与宏:宏不能实现按值传递,更推荐使用内联函数。
5.引用:(1)通过将引用变量作为参数,函数将使用原始数据,而不是其副本。
(2)引用更接近const指针,必须在创建时进行初始化,一但与某个变量关联起来,就将一直效忠于它。引用 ==指针 + const不可更改。简而言之,可以通过初始化声明来设置引用,但不能通过赋值来设置。
(3)如果程序员的意图是让函数使用传递给他的信息,而不对这些信息进行修改,同时又想用引用,则应使用常量引用。
double refcube(const double &ra)
(4)应尽可能使用const:使用const可以避免无意中修改数据的编程错误;
使用const使函数能够处理const和非const实参,否则只能接受非const数据;
使用const引用使函数能够正确生成并使用临时变量;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了