今天早上问的这个问题让我想知道你认为C++标准库中缺少哪些功能,以及你如何用填充函数填补空白.例如,我自己的实用程序库具有此向量追加功能:
template <class T>
std::vector<T> & operator += ( std::vector<T> & v1,
const std::vector <T> & v2 ) {
v1.insert( v1.end(), v2.begin(), v2.end() );
return v1;
}
Run Code Online (Sandbox Code Playgroud)
这个用于清除(或多或少)任何类型 - 特别适用于像std :: stack这样的东西:
template <class C>
void Clear( C & c ) {
c = C();
}
Run Code Online (Sandbox Code Playgroud)
我还有一些,但我对你使用的是哪些感兴趣?请限制包装函数的答案- 即不超过几行代码.
有人可以解释这段代码的工作原理吗 我知道这段代码的目的是获取数组的长度,但我不知道这段代码是如何工作的:
template<typename T, int size>
int GetArrLength(T(&)[size]){return size;}
Run Code Online (Sandbox Code Playgroud)
谢谢.