![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++进阶
文章平均质量分 91
路人暴脾气
探索 - 专注 - 坚持
展开
-
C++ 进阶 - const 的用法及尽量使用const的好处
const关键字在C++中的用法多种多样,可以概括如下 它可以在classes外部修饰global或namespace作用域中的常量或者修饰文件、函数或者块作用域中被声明为static的对象。 它也可以修饰classes内部的静态成员和非静态成员变量。原创 2017-07-12 19:34:16 · 2161 阅读 · 0 评论 -
C++进阶 - 函数特性总结(重载与内联)
个人之言,请持怀疑态度参考。 C++有重载、内联、const和virtual 四种新的机制。本篇博客主要探究重载与内联。const用发可以参考我的另外一篇文章 点击这里重载和内联机制,既可以用于全局函数也可用于类的成员函数;const 、virtual机制仅仅用于类的成员函数重载重载如何实现 通过函数的接口 - 参数 来区分。为什么不用返回值?因为返回值不可以100%保证区分。例如:原创 2017-07-20 19:32:09 · 1025 阅读 · 0 评论 -
C++进阶 - 内存管理
内存分配方式 静态存储区分配 内存在编译的时候就已经分配好了,这块内存在程序的整个运行期间都存在。 栈内存 函数的局部变量在执行时的存储单元,函数退出时,由于栈平衡 这些内存全部释放。 堆内存 用new/delete分配的内存,内存的生存期由我们自己决定 自由存储区 使用malloc进行分配,使用free进行回收。和堆类似。 常量存储区 这是一原创 2017-07-17 16:23:22 · 1118 阅读 · 1 评论 -
C++进阶 降低文件间的编译依存关系(接口与实现解耦合)
问题背景 有时候会发现仅仅改动了某个类的一点实现(仅仅是几句代码),在编译时却发现要编译整个工程!特别是工程有点大时,编译要等很久很久。。。只为修改一个问题,时间都浪费在等待上了。为了避免这一问题,其实是可以通过巧妙的设计来避开文件间的依赖。 形成依赖的主要缘由: 头文件依赖,A类依赖B类,B类依赖C类,结果只改动C类的任何一个数据成员,A,B都得重编译。C++在编译期间,编译器需要知道原创 2017-07-28 18:44:56 · 1700 阅读 · 0 评论