sizeof相关内容
考虑: 双倍数据; double array [10]; std :: vector vec(4,100); MyClass myclass; 之间是否存在差异: sizeof(double); sizeof(double [10]); sizeof(std :: vector); sizeof(MyClass);
..
我正在尝试声明一个占用零字节的C ++变量。它是联合的,我从int [0]类型开始。我不知道这是否实际上是零字节(尽管sizeof(int [0])为0)。我需要一种更好的方法来声明一个0字节的类型,并希望可以将其类型定义为nullType或emptyType。该变量是一个并集,因此在最终存储器中仍然保留。我试着在无效的机会上尝试作废,但C ++抱怨。我使用的是Ubuntu 10.10,具有当前版
..
在for循环中寻找数组的大小时,我见过人们在写 int arr [10] ; for(int i = 0; i
..
当数组为空时,ARRAY_SIZE是否返回未定义的行为?因为我们做出了一个不存在的 sizeof((X)[0]) #include #include #include #ifndef ARRAY_SIZE #定义ARRAY_SIZE(X)sizeof((X))/ sizeof((X)[0]) #endif
..
我在一个函数中声明了一个数组: int char_count_array [118] = {0}; 稍后,我将此数组传递给函数并计算以下内容: int xx = sizeof(char_count_array); int xy = sizeof(char_count_array)/ sizeof(int); 但是,我得到的结果是: xx =
..
for循环的条件是否总是需要常数? 如何在其中放置 sizeof 函数以运行显示数组所有元素的输出? #include 使用命名空间std; void array_output(int a []) { for(int i = 0; i
..
只需放入C和变体(不同于在其虚拟机中使用Java的样子),不同目标上的基本类型的大小可以相差很大,并且除非您使用在 stdint.h ,即使这样您的实现也必须支持它们。 无论如何,假设(因为在大多数现代计算机上,字节是一个字节八位字节,出于联网目的,我假设sizeof是否以字节或八位字节返回数据类型的大小? 解决方案 答案: sizeof 返回类型的大小,以字节为单位。 例如:
..
很抱歉,这个简单而愚蠢的问题,但我找不到它。 我只是不知道如何获取a的大小(以字节为单位) std :: vector MyVector; / *这将在我的系统上打印24 * / std :: cout
..
基础数学(128/8 = 16)讲不同的话.我有点失望,想要一些答案-因为根据我的习惯,这种表示法(type_num_of_bytes_t)不仅描述了可以放入变量的数据量,而且还描述了跨平台固定可变大小,后者对恕我直言更为重要.我在做什么错了? #include "boost/multiprecision/cpp_int.hpp" using boost::multiprecision:
..
我正在研究Stanley B. Lippman在C ++ Prime中的算术类型.当作者谈论整数类型以及每个整数的大小(例如char是8位)时,我注意到尚不清楚布尔的最小大小.考虑类型转换以及以下代码: bool b = 42; // b is true int i = b; // i had value 1 我可以说布尔值具有与整数相同的最小大小(通常为16位),因为如果为假,它将为0
..
bool fp[81]; 据我了解,fp应该连续使用ceil(81/8)个字节. 我正确吗? 我如何证明这一点? 解决方案 否,缓冲区的大小由实现定义.请参考以下标准中的报价. 因此,您可以期望的大小为81 * X,其中X是bool的大小,这是实现的定义. $ 5.3.3/1-"sizeof运算符产生其操作数的对象表示形式中的字节数.该操作数可以是未计算的表达式
..
关于三元运算符,我有一小段关于sizeof运算符的代码: #include #include int main() { bool a = true; printf("%zu\n", sizeof(bool)); // Ok printf("%zu\n", sizeof(a)); // Ok printf(
..
我在标准文档中找不到答案. C ++语言标准是否要求sizeof(bool)始终为1(1字节),或者此大小是实现定义的? 解决方案 sizeof(bool)是实现定义的,该标准特别强调了这一事实. §5.3.3/1,摘要: sizeof(char),sizeof(signed char)和sizeof(unsigned char)为1; sizeof应用于任何其他基本类型的结果
..
这里有一些想法.我正在学习,所以可能会有错误,甚至缺少一些基础知识. sizeof运算符返回字节数. number of bits in byte不是恒定值(请纠正我,但它是char的位数). 我想知道变量占用了多少位,如果不对char中的位数进行假设,sizeof不会告诉我. 所以我想出了这段(可能不必要的)代码: #include #inclu
..
是否有任何方法可以获取std::any存储的数据大小(以字节为单位)?我想出的唯一解决方法是通过std::any::type查询其值的类型,然后将结果与已知类型的列表(例如my_any.type() == typeid(T))进行比较,然后将大小设置为sizeof(T).不幸的是,这种解决方案仅在事先知道类型的情况下才有效. 你知道什么解决办法吗? 解决方案 您无法获取std::an
..
我正在使用Ubuntu 16.04.5和GCC版本5.4.0. 我正在和sizeof()运算符一起玩,写了下面的代码: #include int main(int argc, char *argv[]){ long int mylint = 31331313131.1313; printf("size of long int i
..
与相关类型相比,动态类型是否使用更多的内存大小? 例如,该字段仅使用四个字节吗? dynamic foo = (int) 1488; 解决方案 简短回答: 不.实际上,它将在32位计算机上使用12个字节,在64位计算机上使用24个字节. 长期回答 一个dynamic类型将被存储为一个对象,但是在运行时,编译器将加载更多字节,以了解使用dynamic类型该怎么做.
..
我的任务是用c ++创建伪数据库.给出了3个表,分别存储名称(char *),年龄(int)和性别(布尔).编写允许以下操作的程序: -将新数据添加到表中 -显示所有记录 -使用条件对表格进行排序: -名称增加/减少 -年龄增加/减少 -性爱 必须使用功能模板.数组的大小也必须是可变的,具体取决于记录的数量. 我有一些代码,但是那里仍然有问题. 这是我所拥有的: 函数tab
..
我是一名大学学生.我主要使用Java,C ++对我来说还是很新的,所以我可能犯了许多愚蠢的错误,并且我即将进行考试.别对我太苛刻. 注意:我不能使用C ++ std :: string,因为由于大学的工作,我需要使用C字符串! 请参阅我的研究以及我问到的有关指针和const自变量的问题(您会在其中找到这里)我尝试弄乱内存管理,但似乎没有效果,或者我只是误解了sizeof的某些方面或某些
..
考虑以下代码: char name[]="123"; char name1[]="1234"; 结果 The size of name (char[]):4 The size of name1 (char[]):5 为什么char[]的大小总是加一? 解决方案 正如Michael在注释中指出的那样,字符串以零结尾.因此,在内存中,第一个字符串将如下所示: "1
..