分类
善良比聪明更重要
C++面试 C++面试
1.char c = '\72';中的\72代表一个字符,72是八进制数,代表ASCII码字符“:”。2.10*a++中a先进行乘法运算再自增。3.const和static的作用太常见的问题了,下面给出一个较详细的参考答案:
2024-11-09
右值引用 右值引用
概述右值引用的概念有些读者可能会感到陌生,其实他和C++98/03中的左值引用有些类似,例如,c++98/03中的左值引用是这样的: int i = 0; int& j = i;这里的int&是对左值进行绑定但是int&am
2024-11-03
C++工程实践 C++工程实践
什么是值语义值语义指的是对象的拷贝与原对象无关,就像拷贝 int一样。C++ 的内置类型bool、int、double、char都是值语义,标准库里的 complex<> 、pair<>、vector<>
2024-10-30
C++ 静态库与动态库 C++ 静态库与动态库
这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。库是写好的现有的,
2024-10-29
C++对象模型:对象内存布局详解 C++对象模型:对象内存布局详解
前言文章较长,而且内容相对来说比较枯燥,希望对C++对象的内存布局、虚表指针、虚基类指针等有深入了解的朋友可以慢慢看。 何为C++对象模型?引用深度探索C++对象模型这本书中的话:有两个概念可以解释C++对象模型:1、语言中直接支持面向对象
2024-10-13
C/C++整型变量赋值操作是原子性的吗? C/C++整型变量赋值操作是原子性的吗?
整型变量赋值操作不是原子操作那么为什么整型变量的操作不是原子性的呢?常见的整型变量操作有如下几种情况:给整型变量赋值一个确定的值,如 int a = 1;这条指令操作一般是原子的,因为对应着一条计算机指令,cpu将立即数1搬运到变量a的内存
2024-10-13
so出现undefined symbol------ldd, nm, c++filt so出现undefined symbol------ldd, nm, c++filt
最近发版本,灰度发布的时候,发现进程没起来,回包自然是异常的。立即进行版本回退,发现OK.哪里出问题了呢? 直接ldd -r libtest.so一下,就知道了,原来是缺符号。看看简化后的示例代码: #include <iostrea
2024-10-08
Lambda 表达式捕获列表 Lambda 表达式捕获列表
捕获值列表,是允许我们在Lambda表达式的函数体中直接使用这些值,捕获值列表能捕获的值是所有在此作用域可以访问的值,包括这个作用域里面的临时变量,类的可访问成员,全局变量。捕获值的方式分两种,一种是按值捕获,一种是按引用捕获。顾名思义,按
2024-10-08
内存分配malloc 内存分配malloc
下面的代码片段输出是什么?为什么? char *ptr; if((ptr = (char *)malloc(0)) == NULL) puts("Got a null pointer"); else pu
2024-10-08
C++成员修饰const和mutable C++成员修饰const和mutable
const:常量,不变的mutable:易变的从意思上理解,可见const和mutable是一对反义词,它们都是C++的关键字。const成员函数不能修改调用它的对象。类的成员函数可以被声明为const,这将使得函数的隐式参数this将被作
2024-09-28
使用++i还是i++ 使用++i还是i++
我们经常使用for循环来遍历东西,循环变量可以前自增也可以后自增,发现对遍历结果没啥影响,但是该如何选择呢?我们应该尽量使用前自增运算符而不是后自增运算符,即用 ++Iter代替Iter++。为什么要这么做,有什么有实际价值?下面我会详细解
2024-09-25
C++面试题 C++面试题
1.char c = '\72'; 中的\72代表一个字符,72是八进制数,代表ASCII码字符:。2.10*a++中a先进行乘法运算再自增。3.const和static的作用static关键字:1)函数体内static变量
2024-09-23
1 / 3