上一页 1 ··· 9 10 11 12 13 14 下一页
摘要: explicit 关键字修饰构造函数 防止类的初始化的时候进行隐式转换。 class MyClass { string m_s; int m_a, m_b; public: MyClass(string const& s, int const& a=10, int const& b=10):m_s( 阅读全文
posted @ 2020-02-24 17:35 hellozhangjz 阅读(126) 评论(0) 推荐(0)
摘要: C++ 派生类对象的构造与析构过程 因为基类的成员变量和派生类的成员变量在内存中的连续的(下面程序会验证这一点),如下图所示: 所以构造派生类对象的时候,构造成员变量的过程就像入栈一样: 那么很自然,派生类对象析构的时候就是出栈的过程,先进后出,后进先出: 下边一个简单的程序验证这个结论: 阅读全文
posted @ 2020-02-23 17:22 hellozhangjz 阅读(385) 评论(0) 推荐(0)
摘要: lvalue(左值)和rvalue(右值) 昨天写代码遇见一个这样的错误: 代码类似下边 编译器告诉我们:“不能将非const的lvalue引用 和 rvalue绑定”,里边有两个关键词: 和`rvalue`。 什么是lvalue(左值) 简单定义:内存中有确定存储地址的对象的表达式的值,可以是一个 阅读全文
posted @ 2020-02-23 15:42 hellozhangjz 阅读(764) 评论(0) 推荐(0)
摘要: 的主要缺点 1、类型不明确 1. 首先,无法指定数据类型,导致我们无法明确枚举类型所占的内存大小。这种麻烦在结构体当中尤为突出,特别是当我们需要内存对齐和填充处理的时候。 此时我们的解决办法还是:不使用enum 2. 其次,当我们使用 时,我们无法决定编译器底层是如何对待 的(比如: 和`unsig 阅读全文
posted @ 2020-02-22 22:37 hellozhangjz 阅读(826) 评论(0) 推荐(0)
摘要: -E 预处理,将头文件展开,替换#define,删掉注释。 -C 阻止预处理器删除注释。 -S 生成汇编后的文件, -fverbose-asm circle.c 将变量名作为注释。 -c 生成目标文件,还差一步链接,重定位:将符号换为地址。 -o 指定输出文件的文件名 -I目录 附加的头文件搜索路径 阅读全文
posted @ 2020-02-22 22:36 hellozhangjz 阅读(164) 评论(0) 推荐(0)
摘要: 一、命名空间的使用 不再赘述。 二、在子类中改变基类成员的访问权限 可以将 和`protected public protected private using private private`成员。 这一切都会非常的自然。 参考: https://zhuanlan.zhihu.com/p/2126 阅读全文
posted @ 2020-02-22 22:35 hellozhangjz 阅读(531) 评论(0) 推荐(0)
摘要: 1、用const修饰函数的参数 参数是值传递 由于函数将自动产生临时变量复制该参数,该参数无需保护,没必要用const 参数是指针传递或者引用传递 const修饰的指针或引用所指向的值不可变。如果该参数只是起“被读取”的作用,最好用const修饰保护。 对于复合数据类型,最好使用引用传递,因为值传递 阅读全文
posted @ 2020-02-22 22:34 hellozhangjz 阅读(1239) 评论(0) 推荐(0)
摘要: 匿名函数 声明格式 [capture list] (params list) mutable exception ->return type {function body } capture list 捕获外部变量列表,在Lambda表达式的可见范围内的可见外部变量,如果Lambda函数想要访问他, 阅读全文
posted @ 2020-02-22 22:32 hellozhangjz 阅读(195) 评论(0) 推荐(0)
摘要: "原文地址" 什么是 CMake All problems in computer science can be solved by another level of indirection. David Wheeler 你或许听过好几种 Make 工具,例如 "GNU Make" ,QT 的 "q 阅读全文
posted @ 2020-02-22 22:28 hellozhangjz 阅读(542) 评论(0) 推荐(0)
摘要: 关于进制 二进制写起来太罗嗦,于是发明了8进制和16进制,好比是正楷和草书的关系。 关于补码 已有加法器,补码的发明是为了解决减法的问题,将减法转换为加法 1. 将两个加数转换为补码(正数不变,负数取反加1,取反和加1电路都可以实现) 2. 两数相加 (加法可以实现) 3. 结果转换为补码 原生字符 阅读全文
posted @ 2020-02-22 22:26 hellozhangjz 阅读(131) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 下一页