欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实习 : c++常用技能整理(持更)

程序员文章站 2022-03-21 16:35:01
...

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;

}

8.  std::array    新增容器

std::array 保存在栈内存中,相比堆内存中的 std::vector,我们能够灵活的访问这里面的元素,从而获得更高的性能。

9.圆的bresenham算法

http://www.jhmcu.com/lcd-hua-zhi-xian-zhi-bresenham-suan-fa/

相关标签: c 11