C++要点(1):基本内置类型

掌握各种基本类型是在编程中正确处理各种数据的前提,在计算机中数据存储和传输以位(bit)为单位,每8个位bit组成1个字节(Byte)。32位计算机的字长位32,即4个字节;对应的,64位计算机的字长为64,即8个字节。

bool的长度为1个字节,即8位。

char的长度为1个字节,而C++特有的wchar_t为2个字节,即16位。

int通常为1个字长,short为半个字长,long为1个或2个字长。

?float 的长度为一个字长,double为两个字长,long double为3个或4个字长。

此外指针所占内存的长度也由系统决定,在32位系统下为32位,64位系统下则为64位。

按win32的条件运行以下代码:

#include <iostream>
using namespace std;

int main()
{
	cout << "bool:" << sizeof(bool) << endl;
	cout << "char:" << sizeof(char) << endl;
	cout << "wchar_t:" << sizeof(wchar_t) << endl;
	cout << "short:" << sizeof(short) << endl;
	cout << "int:" << sizeof(int) << endl;
	cout << "long:" << sizeof(long) << endl;
	cout << "float:" << sizeof(float) << endl;
	cout << "double:" << sizeof(double) << endl;
	cout << "pointer:" << sizeof(char*) << endl;
	return 0;
}

运行结果如下(sizeof返回的是字节个数):

C++要点(1):基本内置类型,布布扣,bubuko.com

时间: 2024-12-08 20:53:10

C++要点(1):基本内置类型的相关文章

javascript 判断对象的内置类型

判断某个对象值属于哪种内置类型,最靠谱的做法就是通过Object.prototype.toString方法.在toString方法被调用时,会执行下面的操作步骤:1. 获取this对象的[[Class]]属性的值.2. 计算出三个字符串"[object ", 第一步的操作结果Result(1), 以及 "]"连接后的新字符串.3. 返回第二步的操作结果Result(2).Object.prototype.toString方法返回的字符串,去掉前面固定的"[

[转]java基本类型(内置类型)取值范围

原文地址:java求职重点归纳(8)--基本类型(内置类型)例作者:smallcat 例1: public class PrimitiveTypeTest { public static void main(String[] args) { // byte System.out.println("基本类型:byte 二进制位数:" + Byte.SIZE); System.out.println("包装类:java.lang.Byte"); System.out.p

第2章 变量和基本内置类型

2.1 算术类型 bool char character 8 wchar_t wide character 16 char16_t Unicode character 16 char32_t Unicode character 32 short short integer 16 int integer 16 long long integer 32 long long 64 float single-precision floating-point 6 significant digits do

Python的内置类型续

Python不允许你使用一个未被赋值的变量.这样做会引发一个异常. Python的赋值: 一次赋多值:用Tuple的常量值,去赋予同样数目的变量值的Tuple. Python中的大多文档,都可使用Print 函数._doc_来查看.即是,基本Python中的每个 对象都有_doc_这样的一个属性. 格式化字符串: Python支持格式化的字符串输出. 最基本的用法是将一个值插到一个有字符串格式符%s(注意s是小写的Python大小写敏感)的字符串中. >>>k="Uid&quo

C++的内置类型和用户自定义类型的互相转换

这两种之间的转换主要有两种方式第一就是内置类型转换为用户自定义类型,这里以int类型转换为类类型的对象为例,第二就是类类型转换为int类型 前者依靠转换构造函数,后者依靠自定义的类型转换函数 一.转换构造函数 二.类型转换构造函数 #include <iostream> using namespace std; //转换构造函数只有一个参数,但是有时候这种一个参数的构造函数不仅起到类型转换的作用也起到了构造函数的作用,但是只有一个参数的构造函数才有这种类似的双重身份,并且这种没有拷贝构造的情况

C++内置类型对象之间的转换

C++定义了一组内置类型对象之间的标准转换,在必要时它们被编译器隐式地应用到对象上. 隐式类型转换发生在下列这些典型情况下. 1. 在混合类型的算数表达式中 规则:在这种情况下最宽的数据类型成为目标转换类型,这也被称为算术转换. 例子: 1 int ival = 3; 2 double dval = 3.14159; 4 // ival被提升为double类型:3.0 5 ival + dval; 2. 用一种类型的表达式赋值给另一种类型的对象 规则:这种情况下目标转换类型是被赋值对象的类型.

golang的内置类型map的一些事

golang的map类型是一个比较特殊的类型,不同于int, string, byte这样的基本类型,在经过一番探究之后得出了一些结论: 1.golang的map类型虽然是内置类型,但和基本类型有很大区别,更像是一个指针,因为他有着跟指针一样行为. 下面这段代码的第三次输出时,尝试了用通过arr[1].c["aaa"] = "lalala",这种方式去修改这个map元素,发现arr[0]同时被改变了.这也就说明了arr里面保存的其实是指向一块内存的指针,所以在通过a

流畅python学习笔记:第十二章:子类化内置类型

子类化内置类型 在python2.2之后,内置类型都可以子类化,但是有一个注意事项:内置类型不会调用用户定义的类覆盖的特殊方法.这个说起来比较绕口,什么意思呢.我们来看下下面的代码: class DopperDict(dict):     def __setitem__(self, key, value):         super(DopperDict,self).__setitem__(key,[value]*2) ⑴ if __name__=="__main__":     d

C++内置类型的成员变量初始值的问题探讨

最近碰到个问题,C++内置类型的成员变量(如int)的默认初始值到底是多少? 我的开发环境:VIN7 64位,VS2010. 测试代码: class Solution { public: int a; char c; static int sb; }; Solution x; void main() { Solution s; void *pv = operator new(sizeof(Solution)); Solution *ps = new (pv)Solution(); Solutio