c 学习路线
从学习c 到现在已经有四个年头了,但是从来没有很深入学习,有人说c 是面向对象的编程语言,但是我在这里想说的是,c 是一个多泛型的编程语言,它既可以面向过程,比如我们完全可以用c 写c的代码,这是没问题的,它也是一个面向对象的语言,...
从学习c 到现在已经有四个年头了,但是从来没有很深入学习,有人说c 是面向对象的编程语言,但是我在这里想说的是,c 是一个多泛型的编程语言,它既可以面向过程,比如我们完全可以用c 写c的代码,这是没问题的,它也是一个面向对象的语言,...
在c/c 中,数组和指针有着密切的关系,有很多地方说数组就是指针式错误的一种说法。这两者是不同的数据结构。其实,在c/c 中没有所谓的二维数组,书面表...
函数对象实质上是一个实现了operator()--括号操作符--的类。 class add { public: int operator()(int a, int b) { return a b; } }; int main() { a...
weak_ptr只能从shared_ptr对象构建。 weak_ptr并不影响动态对象的生命周期,即其存在与否并不影响对象的引用计数器。当weak_ptr所指向的对象因为shared_ptr计数器为0而被释放后,那么weak_ptr的loc...
一般常用的转换字符串的方法std::stringstream,但是效率较低;目前c 11提供了std::to_string 效率方面:c风格的sprintf()没有动态分配内存效率最高;std::to_string其次;std::str...
关于左值 右值示例 可看这里 1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; ...
在c 11中,标准库在中提供了一个有用的函数std::move,std::move并不能移动任何东西,它唯一的功能是将一个左值强制转化为右值引用,继而可以通过右值引用使用该值,以用于移动语义。从实现上讲,std::move基本等同于一个类...
c 开发中我们会经常用到插入操作对stl的各种容器进行操作,比如vector,map,set等。在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)时,首先会调用构造函数构造...
nlohmann 是德国工程师,以其名字为工程名的 nlohmann/json 项目又被成为 json for modern c 。 网上常见如何使用 nlohmann 生成 json 文件的中英文资料。但如何使用 nlohmann 解析...
首先你可能需要了解一下json格式,它实际上还是比较简单的一种格式,理解起来还是很容易的,如果你对它不熟悉,可以参考这份教程快速学习一下:json 教程 1. 定义json数值类型 如果你想要创建一个如下这样形式的json对象: { "pi...