草庐IT

初始化OpenStack

全部标签

c++ - 大型 const 数组的初始化?

是否可以在不键入其中的每个元素的情况下初始化大型const数组,例如:尝试创建一个数组:constdoubleA[1000]={1.0/1,1.0/2,1.0/3,...,1.0/1000};用循环很容易做到。 最佳答案 如果它真的必须是const并且您有1000个不同的值,请编写一些child应用程序/脚本将其作为头文件吐出并防止您输入!如果需要的话,这为您提供了一种稍后修改整个数组初始化的简单方法。 关于c++-大型const数组的初始化?,我们在StackOverflow上找到一个

c++ - boost::container 是否支持 C++11 初始化列表?

在Boost.Container网站上我们可以看到:Boost.Containerdoesnotsupportinitializerlistswhenconstructingorassigningcontainersbutitwillsupportitforcompilerswithinitialized-listsupport.(...)对不起,如果我只是愚蠢,但我真的不知道如何阅读它。这是否意味着它会在不可预测的future这样做,或者它现在应该与符合标准的编译器一起工作?我已经在GCC4.7和ICC13.0上测试过它,两者都不起作用,但我相信我可能错过了一些非常重要的东西,比如正

c++ - 基本 C++ 类型何时具有未知的初始值?

什么时候基本的C++类型(例如int或float)具有未知的初始值?内存分配类型如何影响(如果有的话)?声明呢?如果它是class/struct/union的成员怎么办?C++11与C++03或C++98有什么不同?我有我的怀疑,但不知道我的知识是否完整(或正确,就此而言) 最佳答案 任何POD数据(包括所有基本类型)在以下情况下将具有未知值:它没有staticmemoryallocation(它是在堆栈上或使用new创建的)未初始化,包括空初始化和/或构造函数初始化列表在调用main之前,作为启动过程的一部分,所有类型的全局/静态

c++ - 加密初始化 vector

使用aes_cfb_encrypt和aes_cfb_decrypt函数,我有以下问题。加密中的无符号字符*iv(初始化vector)是什么。是否需要保留*iv以便解密。每次我加密一块数据时,*iv都会被修改,与此修改后的*iv的关系。我正在加密一个大约100mb的大文件,并第一次随机传递*iv,我是否必须在循环的其余部分中使用相同的*iv,否则我必须使用更新的*iv加密块的最后一次调用中的。最后,我正在处理结构化文件,因此我必须使用Sizeof(struct)作为缓冲区的长度还是必须使用sizeof(struct)*8作为缓冲区的长度用于加密或解密。请指导..AES_RETURNaes

c++ - 我应该在构造函数初始化列表中使用列表初始化吗?

在GotW#6b第2部分中,我们找到了代码classpolygon{public:polygon():area{-1}{}//....doublearea;};为什么我们要对基类型使用列表初始化而不是常用的area(-1)?他们有什么不同的优势/情况吗? 最佳答案 Whyshouldweuselistinitializationforbasetypesinsteadofthecommonlyusedarea(-1)?首先,我认为那里的消息只是C++11的统一初始化应该在任何可以使用的地方使用。在这种情况下,主要是风格和品味问题。作者

c++ - 成员初始值设定项不命名非静态数据成员

我是C++的新手,正在尝试获取一个开源C++项目以在x代码中编译。这段代码的最后两行:templatestructTVector3:publicTVector2{Tz;TVector3(T_x=0.0,T_y=0.0,T_z=0.0):TVector2(_x,_y),z(_z)正在抛出错误:成员初始值设定项未命名非静态数据成员基于(memberinitializerdoesnotnameanon-staticdatamemberorbaseclass),我尝试将代码更改为:templatestructTVector3:publicTVector2{Tz;TVector3(T_x=0.0

c++ - 为什么我没有收到有关在 ctor 中访问未初始化成员变量的编译器警告?

这是一个简单的测试用例,编译时没有任何警告。看起来像是一个常见错误,但在这种情况下,clang、gcc和visualstudio不会发出警告。为什么?classImage{private:intwidth,height;int*array;public:Image(int_width,int_height);voidcrashTest();};Image::Image(int_width,int_height){array=newint[width*height];//^^^^^^^^^^^thisiswrong//Iexpectawarningheree.g.:'widthisuni

c++ - 如何在 C++ 类中初始化可变大小的二维数组?

我正在开发一个井字游戏程序,我需要在一个类中创建一个可变大小的二维数组。我现在是这样写的:classticTacToe{public:ticTacToe();voiddisplay();boolmoveIsValid();private:introws;intcols;intboard[rows][col];}我在构造函数中从一个文件中读入了板,但我不确定如何使它的大小可变,以便我可以读入任何大小的板,然后在类外访问它。 最佳答案 "Ihavetheboardbeingreadinfromafileintheconstructorb

c++ - Lambda 重新初始化 vector - 为什么它有效?

为什么下面的编译?vectorvec;autolambda=[vec(move(vec))](){//??};如何使用vec(move(vec))重新初始化已分配的vec变量?这不是调用移动构造函数吗?如果我写:vectorvec;vec(move(vec));这是无效的 最佳答案 这称为init-capture。它声明了一个新变量,它隐藏了上面的vec。它用于捕获lambda表达式中的仅移动类型:Aninit-capturebehavesasifitdeclaresandexplicitlycapturesavariableoft

C++14 值初始化问题

谁知道本地i_local值在此示例中被零初始化http://ideone.com/Cqer9Z?#includeusingnamespacestd;intmain(){inti_local;//automaticstorageduration,notstaticcout它是可变的,具有自动存储期限,根据标准,它应该具有未确定的值。在我的本地计算机(c++11)中它是未确定的,但在ideone(c++14)中归零。 最佳答案 完整的标准说(强调):Whenstorageforanobjectwithautomaticordynamic