C++;:std::vector<;I>;遮罩(n_col,-1);意思是 我正在翻译一段C++代码(这是我看了很久了!!)我不确定这意味着什么: std::vector<I> mask(n_col, -1); std::向量掩码(n列,-1);
它是否创建了一个长度为C++;:std::vector<;I>;遮罩(n_col,-1);意思是 我正在翻译一段C++代码(这是我看了很久了!!)我不确定这意味着什么: std::vector<I> mask(n_col, -1); std::向量掩码(n列,-1);,c++,stl,C++,Stl,它是否创建了一个长度为n\u col的向量,其中填充了-1?它创建了一个std::vector类型的I长度为n\u col的项目,所有项目都是从-1初始化的,您可以查看 是的,它创建了一个长度为n\u col的向量,其中n\u col重复I(-1)代码使用构造函数(2),并为您提供一个n\u col元素的向量,所有元素均由值-1构造尽管构造函数有三个参数,但第三个-分配器-是可选的。它将从-1构造一个I,其他的都将从该I复制 如果您创建一个具有int隐式构造函数的类型,并在调用该构造函数时打印,
n\u col
的向量,其中填充了-1
?它创建了一个std::vector
类型的I
长度为n\u col
的项目,所有项目都是从-1
初始化的,您可以查看
是的,它创建了一个长度为
n\u col
的向量,其中n\u col
重复I(-1)
代码使用构造函数(2),并为您提供一个n\u col
元素的向量,所有元素均由值-1
构造
尽管构造函数有三个参数,但第三个-分配器-是可选的。它将从-1构造一个I,其他的都将从该I复制
如果您创建一个具有int隐式构造函数的类型,并在调用该构造函数时打印,然后以这种方式创建一个大小为10的向量,您将看到打印只发生一次,而不是10次
e、 g
#包括
#包括
结构Foo
{
int m_值;
Foo():m_值(0){}
Foo(inti):m_值(i)
{
std::cout just google for syntax of vector declaration类型I
是标准stl类型吗?(不能google单个字符…)@tdc:No,I
不是标准类型;它将在代码的某个地方定义。@MikeSeymour谢谢(顺便说一句,不是我的代码!)@tdc:heh-它只是在正确的时间,在正确的位置。学究式的说,元素是从-1
构造/初始化的,对于项目的实际值没有什么可说的,它们取决于实际类型I
@rubenvb:这就是我说的“所有项目都初始化为-1
”.或者你说的是“to”而不是“from”的用法“桑德代克是的,我确实说过了<代码> Poangnic < /Cord>。我认为每个有点熟悉C++的人都知道你的意思,但初学者可能会感到困惑。@ RuuNVB:相应地修改了答案。谢谢你指出。不完全是:用<代码> NoCelo>代码>重复<代码> i(-1)
。事实上,该声明假定向量值类型I
可以用整数初始化。
#include <vector>
#include <iostream>
struct Foo
{
int m_value;
Foo() : m_value( 0 ) {}
Foo( int i ) : m_value( i )
{
std::cout << "Constructor from int\n";
}
};
int main()
{
std::vector<Foo> foovec( 10, -1 );
}