Gitee提交代码的网址 Gitee/tanqinqin
C++11 tutorial C++11 tutorial
C++11 and more C++more
C代码要用到C++参考: Reference - C++ Reference (cplusplus.com)
- new, malloc, calloc, realloc
malloc负责在堆栈上开辟空间。内存连续
char *p = (char *)malloc(sizeof(array[0]));
- 什么时候用new, 什么时候用malloc?
- C malloc, C++ new
- 自己定义的object,或者需要初始化data member用new, 因为它自动会去调用构造函数。内建类型一般用malloc,可以更方便控制
- 内建类型:
int *p = (int*)malloc(sizeof(int)*30);
- 定义vector的二维数组N1*N2:
vector<vector<int>> dp(N1, vector<int>(N2));
vector<vector<int>> dp(N1, vector<int>(N2, value));
- C++11匿名函数:
编译C++11的代码: g++ -std=c++11 traverse.cpp -o traverse
lambda匿名函数
- 通常用于回调函数。
- 可以传参,可以返回值(通过参数是否添加&来判断),传的值只是传进去的参数又带回来一个新的值。
- 没有函数名。
[] (int x) {
std::cout << x << “ ”;
}
[]表示传递外部环境元素
(int)传递参数
- 如何传递外部环境参数?
[=]截取外部作用域中的变量,并拷贝一份在函数体中使用。
[&]截取外部作用域中的变量,并作为引用在函数体中使用。
[]外部变量的值在函数里面不可见。
pair container
const pair<int, string> valueSymbols[] = {
{1000, "M"},
{900, "CM"},
// ......
};
for (const auto &[value, symbol]: valueSymbols) {
// ...
}

这篇博客主要总结了力扣刷题过程中的C++11使用经验,包括new与malloc的区别,何时使用new进行对象分配,以及C++11的匿名函数和lambda表达式的应用。还详细介绍了pair容器的使用,阐述了如何通过pair传递和存储外部环境的参数。同时,提供了C++11参考教程链接和编译代码的方法。
234

被折叠的 条评论
为什么被折叠?



