Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “sizeof”操作符在编程中真的很重要吗,尤其是在构建大型应用程序时?_C++_Arrays_Sizeof - Fatal编程技术网

C++ “sizeof”操作符在编程中真的很重要吗,尤其是在构建大型应用程序时?

C++ “sizeof”操作符在编程中真的很重要吗,尤其是在构建大型应用程序时?,c++,arrays,sizeof,C++,Arrays,Sizeof,除了这些类型的程序: 在程序中,我们不知道数组中有多少行, 所以我们把那排盒子弄空了。我们制作了我们的节目,却不知道它的价值 划船 这些sizeof运算符还有其他用途吗 对。 大型应用程序经常使用某种内存管理。对象的大小很重要,sizeof是获取对象或类型大小的确定方法。是的,sizeof很重要 没有它你能写大的应用程序吗?好吧,这取决于每个应用程序的功能,所以是和否。如果你的应用程序从来不需要知道对象的大小(以字节为单位)或静态分配数组中的元素数,那么你可能不需要sizeof 另一方面,如果你

除了这些类型的程序:

在程序中,我们不知道数组中有多少行, 所以我们把那排盒子弄空了。我们制作了我们的节目,却不知道它的价值 划船

这些sizeof运算符还有其他用途吗

对。 大型应用程序经常使用某种内存管理。对象的大小很重要,sizeof是获取对象或类型大小的确定方法。

是的,sizeof很重要

没有它你能写大的应用程序吗?好吧,这取决于每个应用程序的功能,所以是和否。如果你的应用程序从来不需要知道对象的大小(以字节为单位)或静态分配数组中的元素数,那么你可能不需要sizeof

另一方面,如果你的应用程序向某个设备或文件写入一堆int,那么你可能会发现sizeofint非常有价值,因为你可能需要知道你正在写入多少字节

您还可能在某个标头中定义了一个数组,可能它不是您的标头,您需要知道该数组中有多少元素,同时防止该数组中将来的更改。sizeofarray就是你想要的


sizeof的存在是有原因的。这不仅仅是C./P>动物/动物的0个[S]:SigeFielsFWW,siZoof在你的Excple中不需要:作为一个专业的C++开发者,我几乎从不使用siZeof。我已经好几年没用过这个了。在这个例子中,我使用了一个基于范围的循环。我的C++代码库是相当大的成百上千的源文件,千兆字节的源代码,我还没有进入一个sisiof,我自己还没有使用过。可能有一些存储在VM子系统中。在这种情况下,有一种更好的方法:std::size。或者只是一个基于范围的for循环。@Jesper我想我们试图回答每个人的不同问题other@user4581301,答案是找到任意对象的大小。size用于统一获取容器或数组中的元素数。
int main() {


    string animals[][3] ={
        {"Cat", "Dog", "Mouse"},
        {"Lion", "Tiger", "Elephant"}
    };

    for (unsigned int a = 0; a < sizeof(animals) / sizeof (animals[0]); a++) {
        for (unsigned int b = 0; b < sizeof(animals[0]) / sizeof(string); b++) {
            cout << animals[a][b] << " " << flush;
        }
        cout << endl;
    }

    return 0;
}