草庐IT

sizeof_array

全部标签

c++ - 标准转换 : Array-to-pointer conversion

这是来自ISO的要点:标准转换:数组到指针的转换:$4.2.1Anlvalueorrvalueoftype“arrayofNT”or“arrayofunknownboundofT”canbeconvertedtoanrvalueoftype“pointertoT.”Theresultisapointertothefirstelementofthearray.谁能解释一下,如果可能的话,用一个示例程序。我已经看过这些链接,但我无法理解:ArrayandRvalueIthinkImayhavecomeupwithanexampleofrvalueofarraytype

c++ - 嵌入式 C++ : Initialization of an array member of a struct within a class, 大小省略

您好,在此先感谢您对以下问题的任何帮助。编辑:我忘了补充一点,这是在无法访问STL功能的嵌入式系统上。我很抱歉遗漏了这条非常重要的信息。这是我第一次广泛使用C++进行编码,所以我忘了提及显而易见的事情。我回来补充这个事实,这个问题已经收到了一些回复。感谢大家这么快的回复!我正在尝试初始化结构的数组成员,该结构又是C++类的公共(public)成员。结构中省略了数组大小。这是一个例子://ClassA.hClassA{public:structStructA{StructBstructs[];};structStructB{//stuff};ClassA();//etc};//Class

c++ sizeof operator - 指向double的指针

我在使用sizeof运算符(C++)时得到了意想不到的结果。在主课中,我有这些行double*arguments_=newdouble();*arguments_=2.1;*(arguments_+1)=3.45;cout这给我输出480Doublesize是8个字节,而且(sizeofarguments_[0])=8。但是,为什么(sizeofarguments_)也不是用字节表示的(2*8=16)?sizeof运算符是否适用 最佳答案 两个值都以相同的单位表示。你有一个32位系统,所以地址的大小是32位,或4个字节。在你的系统上

在 std::array 中使用默认参数调用 C++ 函数?

现在我有一个C++函数voidF(std::arrayx){//...}我希望参数“x”可以有一个默认值,我该怎么做?如果不是函数参数,我可以简单地使用std::arrayx={1,2,3};但是对于函数参数,代码voidF(std::arrayx={1,2,3}){//...}会导致编译错误。我在MSVC2012中测试,遇到错误C2143、C2059、C2447。还有g++4.6.3中的错误有什么办法让它有默认值吗?谢谢。 最佳答案 您的解决方案应符合标准,但在某些编译器中未实现。它们中的大多数可以使用语法x={{1,2,3}}初

c++ - (C++14) lambda 数组 : error: 'name' declared as array of 'auto'

我很难解决这个错误。我承认,我是C++的新手,我的困难来自于不理解错误消息。代码如下:autoselectionFuncs[8]={[&](constVector3&min,constVector3&max){returnmax.x_==seamValues.x_||max.y_==seamValues.y_||max.z_==seamValues.z_;},[&](constVector3&min,constVector3&max){returnmin.x_==seamValues.x_;},[&](constVector3&min,constVector3&max){returnm

c++ - sizeof(function) 有意义吗?

我对sizeof(function)有点困惑。我曾经认为sizeof运算符对类对象、指针和引用进行操作。sizeof运算符可以操作哪些操作数?sizeof(function)有意义吗? 最佳答案 根据:http://en.cppreference.com/w/cpp/language/sizeof"...sizeofcannotbeusedwithfunctiontypes,incompletetypes,orbit-fieldglvalues"或来自2012年C++标准工作草案http://www.open-std.org/jtc

c++ - sizeof 运算符的问题

因为我想在函数中动态查找数组大小,所以我使用了sizeof运算符。但是我得到了一些意想不到的结果。这是一个演示程序,向您展示我想做什么。//------------------------------------------------------------------------------------------#includevoidgetSize(int*S1){intS_size=sizeofS1/sizeof(int);std::cout编译命令:g++demo1.cc-odemo1{fedora12}输出:arraysize(infunction):2arraysize

c++ - 关于 C++ 中 sizeof(class) 用法抛出的错误

当我用C++编译我的项目时,MSVC抛出以下错误:error#94:thesizeofanarraymustbegreaterthanzero执行sizeof时在以下行中抛出错误:if(sizeof(MyNamespace::MyClass)==60)MyClass是这样定义的:classMyClass:publicParentClass{public:MyClass(void*pCreate,inta,intb,boolc):ParentClass(pCreate,a,b,c){}virtualinlinevoidmyFunc(){//something}private:virtua

C++ Sizeof 给出不可预测的结果

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Whydoes‘sizeof’givewrongmeasurement?我有一个名为CBUFFER_PEROBJECT的结构:structCBUFFER_PEROBJECT{D3DXMATRIXFinal;D3DXMATRIXRotation;};在另一个类里面我这样做:...bd.ByteWidth=sizeof(CBUFFER_PEROBJECT);...我发现D3DXMATRIX的大小是64,所以64+64=128(对吗?)。但是我的编译器在耍我(VisualC++),因为当我调试程序时,bd.Byte

c++ - 字符常量和函数名的 sizeof() 背后的逻辑

这个问题在这里已经有了答案:Sizeofcharacter('a')inC/C++(4个答案)WhyareCcharacterliteralsintsinsteadofchars?(11个答案)关闭9年前。在C中的代码如下:#includeintmain(){charc='a';printf("%d%d",sizeof(c),sizeof('a'));return0;}产生结果1和4?请解释一下逻辑?此外,为什么sizeof(main())的结果是4而sizeof(main)的结果是1:#includeintmain(){printf("%d%d\n",sizeof(main),siz