随笔分类 - B.1.1-C/C++ 基础
学习C/C++过程中整理的一些知识点。
摘要:boost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法: #include <string>
阅读全文
摘要:boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用: #include <string> #include <iostream> #include <boost/scoped_ptr.h
阅读全文
摘要:C++11使用emplace_back代替push_back 转载地址:https://blog.csdn.net/yockie/article/details/52674366 结论:在C++11情况下,果断用emplace_back代替push_back
阅读全文
摘要:C++语言编程中,类的拷贝主要是通过拷贝构造函数和赋值函数来进行,再者就是为拷贝专门实现的成员方法。由于拷贝构造函数和赋值函数在用户为提供的情况下是由C++编译器自动生成的,而且是public成员,因此默认的C++类都有拷贝功能。 一个默认的C++类所拥有的成员函数: class Empty{};
阅读全文
摘要:对于C++最新特性的for循环,需要掌握其使用方法。 不要抗拒新知识、新特性、新用法。积极去学习+掌握,会带来更高的开发效率。 for : 获取到的是map的迭代器。通过 first, second来获取key,val的值。 #include <iostream> #include <string>
阅读全文
摘要:分配一个m*n的数组(m行,n列) vector<vector<int>> dp(m, vector<int>(n));
阅读全文
摘要:介绍了C++ for 循环的5种用法。通过这里的案例,也可以熟悉对string 容器的使用。可以通过[] 来访问string 对象。 for each std::for_each for in for : for #include <iostream> #include <map> #include
阅读全文
摘要:转载:https://www.tutorialspoint.com/c_standard_library/c_function_calloc.htm 描述 C库函数void * calloc(size_t nitems,size_t size)分配请求的内存并返回指向它的指针。malloc和call
阅读全文
摘要:///// callbackDefine.h #ifndef __CALL_BACK_DEFINE_H__ #define __CALL_BACK_DEFINE_H__ #include <iostream> using namespace std; // STEP1: 声明回调函数类型 typed
阅读全文
摘要:[] 指明参数是值传递还是引用传递。 值传递,传入一个拷贝。外部的值改变的时候,不会影响传入函数内部的值。 比如,这里的x. 外部x的值改变了,而匿名函数内部的x 仍然是0,不会改变。因为他们是2个不同的值,互补影响。 [] , 用以访问外部作用域。在 lambda introducer (每个la
阅读全文
摘要:左值、左值引用、右值、右值引用 1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。 一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。 2、引用 引用是C
阅读全文
摘要:int** copyPath =new int*[rows];for (int i = 0; i < rows; i++){ copyPath[i] = new int[cols];} for (int i = 0; i < rows; i++){ delete[] copyPath[i];}del
阅读全文
摘要:C++11开始,可以用 { } 来初始化类的对象。 auto uri = mongocxx::uri{ "mongodb://host1/?minPoolSize=3&maxPoolSize=5" }; //小括号初始化 string str("hello"); //等号初始化 string str
阅读全文
摘要:https://www.jianshu.com/p/d686ad9de817
阅读全文
摘要:C++基类的继承和多态 虚函数: 子类的虚函数会覆盖基类同名的函数。 非虚函数: 指针声明是什么类型,就只能访问该类所拥有的函数。。 要特别注意指针声明成什么类型。。。。和它 new 的类型无关。。。无关。。 class Base { public: Base(){}; ~Base(){}; pub
阅读全文
摘要:一个栈 //栈 #include <stdio.h> #include <math.h> #include <stdlib.h> #include <algorithm> #define STACK_INIT_SIZE 20 #define STACK_INCREMENT 10 typedef ch
阅读全文
摘要:实现了一个完整的单链表。 时长看一看,深入理解单链表的各个细节。 /* 设计一个算法求出单链表的倒数第m个结点,要求不得求出链表长度,不得对链表进行逆转,如果找到这样的结点就返回它的地址,如果没有就返回NULL。 */ #include <iostream> using namespace std;
阅读全文
摘要:/******************************************************************* Copyright(c) 2016, Harry He All rights reserved. Distributed under the BSD licens
阅读全文
摘要:/******************************************************************* Copyright(c) 2016, Harry He All rights reserved. Distributed under the BSD licens
阅读全文
摘要:/******************************************************************* Copyright(c) 2016, Harry He All rights reserved. Distributed under the BSD licens
阅读全文