会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
hellozhangjz
博客园
首页
新随笔
管理
上一页
1
···
9
10
11
12
13
14
下一页
2020年2月24日
C++ explicit 关键字简介
摘要: 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)
2020年2月23日
C++ 派生类对象的构造与析构过程
摘要: C++ 派生类对象的构造与析构过程 因为基类的成员变量和派生类的成员变量在内存中的连续的(下面程序会验证这一点),如下图所示: 所以构造派生类对象的时候,构造成员变量的过程就像入栈一样: 那么很自然,派生类对象析构的时候就是出栈的过程,先进后出,后进先出: 下边一个简单的程序验证这个结论:
阅读全文
posted @ 2020-02-23 17:22 hellozhangjz
阅读(385)
评论(0)
推荐(0)
C++ lvalue(左值)和rvalue(右值)
摘要: lvalue(左值)和rvalue(右值) 昨天写代码遇见一个这样的错误: 代码类似下边 编译器告诉我们:“不能将非const的lvalue引用 和 rvalue绑定”,里边有两个关键词: 和`rvalue`。 什么是lvalue(左值) 简单定义:内存中有确定存储地址的对象的表达式的值,可以是一个
阅读全文
posted @ 2020-02-23 15:42 hellozhangjz
阅读(764)
评论(0)
推荐(0)
2020年2月22日
enum class 用法
摘要: 的主要缺点 1、类型不明确 1. 首先,无法指定数据类型,导致我们无法明确枚举类型所占的内存大小。这种麻烦在结构体当中尤为突出,特别是当我们需要内存对齐和填充处理的时候。 此时我们的解决办法还是:不使用enum 2. 其次,当我们使用 时,我们无法决定编译器底层是如何对待 的(比如: 和`unsig
阅读全文
posted @ 2020-02-22 22:37 hellozhangjz
阅读(826)
评论(0)
推荐(0)
gcc 预处理、编译、汇编、链接
摘要: -E 预处理,将头文件展开,替换#define,删掉注释。 -C 阻止预处理器删除注释。 -S 生成汇编后的文件, -fverbose-asm circle.c 将变量名作为注释。 -c 生成目标文件,还差一步链接,重定位:将符号换为地址。 -o 指定输出文件的文件名 -I目录 附加的头文件搜索路径
阅读全文
posted @ 2020-02-22 22:36 hellozhangjz
阅读(164)
评论(0)
推荐(0)
using用法总结
摘要: 一、命名空间的使用 不再赘述。 二、在子类中改变基类成员的访问权限 可以将 和`protected public protected private using private private`成员。 这一切都会非常的自然。 参考: https://zhuanlan.zhihu.com/p/2126
阅读全文
posted @ 2020-02-22 22:35 hellozhangjz
阅读(531)
评论(0)
推荐(0)
const用法及与constexpr区别总结
摘要: 1、用const修饰函数的参数 参数是值传递 由于函数将自动产生临时变量复制该参数,该参数无需保护,没必要用const 参数是指针传递或者引用传递 const修饰的指针或引用所指向的值不可变。如果该参数只是起“被读取”的作用,最好用const修饰保护。 对于复合数据类型,最好使用引用传递,因为值传递
阅读全文
posted @ 2020-02-22 22:34 hellozhangjz
阅读(1239)
评论(0)
推荐(0)
Lambda表达式
摘要: 匿名函数 声明格式 [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 用法总结(转载)
摘要: "原文地址" 什么是 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
下一页
公告