Tricks
title: C++ Tricks tags:
C++
Tricks
categories:
C++
Shuffle
static void shuffle(vector<int>* v) {
srand(9);
for (int n = v->size(); n >= 2; n--) {
swap((*v)[n - 1], (*v)[static_cast<unsigned>(rand()) % n]);
}
}class 成员初始化
$ cat 010.cpp
#include <iostream>
using namespace std;
class Plm {
public:
struct Arg {
size_t net;
size_t mem;
size_t query;
};
};
int main() {
Plm::Arg arg {
.net = 1,
.mem = 3,
.query = 2
};
cout << arg.net << " " << arg.mem << " " << arg.query << endl;
return 0;
}
$ g++ 010.cpp && ./a.out
1 3 2parameter pack
完美转发
无论是T&&、左值引用、右值引用,std::forward都会依照原来的类型完美转发。
省略号语法
Amazing
最后更新于
这有帮助吗?