c++常见用法和易错总结
司南牧
立志让初学者跨界学编程/算法/AI机器人无障碍专注零基础教程,知乎@司南牧
展开
-
什么是大端(Big Endian)?什么是小端?为何需要这样设计?
存储的单元是字节,网络传输的单元也是字节。大小端是针对字节流中某个字节内存储的顺序而制造的一个概念。比如:在内存中存储是酱紫的:0x01 0x02 0x03 0x04(X86是4字节),从高字节开始存放(大端)。然后它向网络发送数据是从左到右发结果字节流就变成了0x04 0x03 0x02 0x01 (0x01是最先发送出去的,看起来网络字节流就变成了小端,小字节在前)然后接收端接收到的字...原创 2020-03-09 12:03:18 · 1173 阅读 · 1 评论 -
cpp语法特性中数字开头数字后面紧跟字母如1ms是什么?cpp自定义字面量cpp自定义后缀
cout<<123ms<<endl;这是c++11出现的新语法叫做c++自定义字面量。就是自定义后缀的意思。举个例子就懂了#include <iostream> std::string operator "" ms(long double x){ return std::string("hello");}int main(int argc,c...原创 2019-12-02 20:46:06 · 499 阅读 · 0 评论 -
cmake下使用boost,以shared_ptr和make_shared举例
Cmake文件配置首先需要在CmakeLists.txt文件中加入下面这段记得“YourExeName和 YourSourceCodeName”这两个部分需要替换成自己的源文件名字和自己想生成的目标文件名字find_package(Boost)if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) add_exe...原创 2019-12-02 16:24:39 · 797 阅读 · 0 评论 -
c++易错点总结(1): cpp中的explicit的作用,为何尽量使用explicit关键字
在c++种explicit关键字只能用来修饰构造函数。禁止它自动调用拷贝初始化。什么是拷贝初始化?举个例子:现在我们不使用explicit关键字看看会发生什么?我们发现下面这个代码明明我们给函数f()传递的参数是一个整数,但是编译器却自动调用了类A的构造函数,这种就叫做拷贝初始化。这是超出预期的。如果你不希望这样那么请在构造函数前面加上explicit关键词禁止编译器这种自动调用拷贝初始化的行...原创 2019-11-17 19:13:03 · 1410 阅读 · 0 评论