实习 : c++常用技能整理(持更)
c++11 常用新特性一览:https://blog.csdn.net/jiange_zh/article/details/79356417
1 . vector
2 . list
3 . map
4 . STL
tips:
erase是C++中String类库中提供的一个函数,其作用是将字符串中的特定的连续若干元素删除。括号中两个参数,第一参数表示要删除元素的起始位置,第二个参数表示要删除的个数。
A.erase(0,1),就表示,在字符串A中,从下标0开始,删除1个元素。
drand48 返回服从均匀分布的·[0.0, 1.0) 之间的 double 型随机数。
C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).
5.tuple
www.cplusplus.com/reference/tuple/
C++ 11新特性tuple多元数组,其表示N元数组,它相当于有N个成员的结构体,只不过这个结构体的成员都是匿名的。
tuple的最常见的用途就是作为函数的返回值,利用它,可以实现函数返回多个值。
初始化tuple:tuple的构造函数是 explicit 的,因此必须使用 直接初始化
例:
tuple<int,double,string> get_tuple()
{
tuple<int,double,string> tp;
...
return tp;
}
auto tp=get_tuple();
cout<<get<0>(tp)<<get<1>(tp)<<get<2>(tp)<<endl;
std::make_tuple: 构造元组
std::get: 获得元组某个位置的值
std::tie: 元组拆包
6. C++新增了一种循环:基于范围的for循环:对数组(或容器类,如vector和array)的每个元素执行相同的操作(类似python)
如: int prices[5] = {4,5,6,7,8};
for(int x:prices)
cout << x << endl;
其中,x最初表示数组prices的第一个元素,显示第一个元素后,不断执行循环,而x依次表示数组的其他元素。
7.template <typename T>
template的使用是为了简化不同类型的函数和类的重复定义.
例如:
template <typename T>
T mmax(T a,T b)
{
return a>b?a:b;
}
std::array 保存在栈内存中,相比堆内存中的 std::vector,我们能够灵活的访问这里面的元素,从而获得更高的性能。
9.圆的bresenham算法
http://www.jhmcu.com/lcd-hua-zhi-xian-zhi-bresenham-suan-fa/
上一篇: 使用 Iisext.vbs 列出 Web 服务扩展文件的方法
下一篇: react-jsx语法
推荐阅读