是否可以在c ++中创建类型向量?
也许c ++ 11中的decltype可以用于此吗?
我需要这个,以便我可以迭代这个向量,获取类型,即类,并创建这样的实例.
我是否应该包括,例如<vector>
它已被包含在其中<regex>
?
我有一个<regex>
包括,似乎也包括<vector>
,所以我不必包括<vector>
.是否认为明确包括更好的风格<vector>
?
为什么要删除默认副本并移动基类的ctor和赋值?
这是来自Stroustrup的书(第4版c ++).
通常基类是抽象的,所以当你甚至无法实例化它们时,为什么你会担心这一点.
使用带有右值引用的push_back?
我有以下代码:
csvData.push_back(CsvDataSet(csvBlock));
Run Code Online (Sandbox Code Playgroud)
我应该这样做:
csvData.push_back(std::move(CsvDataSet(csvBlock)));
Run Code Online (Sandbox Code Playgroud)
这样我保存了一个复制操作.
是否可以将模板生成的函数作为f()
和f<T>()
?
我希望在指定类型的大部分时间调用f,例如:
f<string>();
f<int>();
Run Code Online (Sandbox Code Playgroud)
但我也需要这样称呼它:
f();
Run Code Online (Sandbox Code Playgroud)
和未指定时的类型应该是字符串.这可能吗?
存储从字符串到整数的映射的最佳方法,以及另一种方式同时存储?
例如,我有一个名为columnNames的向量,我希望能够获得一个列名称给定它的索引,即它的位置,但是也给它的位置我想得到它的名字.一种方法是按顺序使用地图和存储列名称,这样我就可以做我想要的,但我想知道是否有更好的方法?
应该将istream作为引用或const引用传递吗?
我只需要从istream中提取字符串,而不是以任何方式修改istream.如果我不打算修改它,是否有理由不将它作为const引用传递?
在可能的情况下使用std::string
或单身更好char
吗?
在我班上我想存储某些字符.我有CsvReader
课,我想存储columnDelimiter
角色.我想知道,将它作为char
或更好地使用它会更好std::string
吗?在使用方面我觉得std::string
好多了,但我想也许会有重大的性能差异?
如何在c ++ 11中检测来自istream的空行?
有一个简单的方法,或者我将不得不做一些事情,比如删除空格和制表符,然后查看结果字符串是否为空?
如何从std :: string转换为模板化T,或者可能先检查是否可能?
我在类型T上有模板函数.有输入std :: string,我需要将字符串转换为T.例如,如果字符串是"42",那么:
1) if T is float then convert to float with value 42.0f
2) if T is int then convert to int with value 42
3) if T is string then convert to string "42"
4) if T is user-defined type then look for a constructor of T that takes string
Run Code Online (Sandbox Code Playgroud) 如何在C++ 11中调用模板类型的方法?
例:
template <typename T>
void f(T t) {
// How to call a method here like t.method()?
}
Run Code Online (Sandbox Code Playgroud)
这在C++ 11中是否可能以某种方式首先检查T是否具有该方法,如果它然后使用它?