静态矢量调整大小
Static vector resize
我想在类中创建一个静态向量,并在创建向量时调整向量的大小。我尝试在构造函数或主函数中执行此操作。但我无法让它发挥作用。问题是,我不能用这种方式调用向量类的函数。这就是我现在拥有的:
#include <vector>
using namespace std;
class test
{
public:
static vector<int> testvec;
test();
};
test::test() //Not static
{
test::testvec.resize(0); //Try 1
}
vector<int> test::testvec.resize(0); //Try 2
int main()
{
test::testvec.resize(0); //Try 3
test testclass;
system("pause");
return false;
}
我需要处理每个对象中向量上的所有数据,这就是为什么我想使向量静态。
有人能帮我吗?谢谢
编辑:grammer。我尝试过的每个方法都会出现编译错误。
当您声明静态成员属性时,您还需要定义it:
class test {
public:
static std::vector<int> v; // declaration
};
std::vector<int> test::v; // definition, note: no `static` here
您可以选择性地使用构造函数的大小,这将避免调整大小的需要:
std::vector<int> test::v( 10 ); // definition, create it with size==10
但如果您喜欢,您仍然可以从main
调用resize:
int main() {
test::v.resize( 20 );
}
您需要在实现文件中定义静态成员。
类似于main.cpp:
vector<int> Test::testvec;
int main() {
...
}
相关文章:
- 为char数组调整zlib-zpipe
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- #为""定义宏;静态";针对不同的上下文
- cmake如何在fedora工作站中找到boost静态库包
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 将公共但非静态的成员函数与ALGLIB集成
- cmake在我的项目中所需的所有静态库都不成功
- C++从另一个类访问公共静态向量的正确方法是什么
- 调整大小后指向元素值的指针unordered_map有效?
- 基于boost的程序的静态链接——zlib问题
- 在静态库中嵌入类方法
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 在C++中调整向量中的索引
- 如何在C++中获得"静态纯虚拟"功能?
- 私有类型的静态常量成员
- 使用gcc从静态链接的文件中查找可选符号
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 静态对象的名称调整
- 调整 Windows 控制台和 MFC 静态库的大小
- 静态矢量调整大小