让我轻轻地打开VS,打开一个最简单实用的“Win32控制台应用程序”工程“Z.sln”(如何创建工程可参考《C++学习目标:建立一个最简单实用的C++项目(附图说明)》,不看也不影响本节的学习)。
当工程被打开,主窗口自动展开“Z.cpp”代码文件(上次关闭工程时打开的文件)。
观察一下“Z.cpp”里以下内容:
第9行“小止学编程”和第10行的“0”就是我们要学习的“文字常量”(literalconstant)。因为我们只能以文本值的形式指代它且其值无法被改变,所以称之为“文字常量”。这些文字常量都是有类型的:
“小止学编程”是一个字符串,所以是字符串文字常量。
“0”是一个数字,在C++里,表达数字的类型很多。有短整型short、整型int(默认)、长整型long、浮点型float、双精度型double等等,这些类型还可细分为有符号类型signed(默认,可不写)或无符号类型unsigned。[what]本质差异在哪里?是数值可表达范围不一样。
比如unsignedshort(内存占两个字节)可表达0到范围的数值。而int可表达-到范围的数值。时代在发展,在目前硬件性能越来越好的情况下,最简单实用是int类型。所以第7行的“_tmain”函数的返回值就是int。第10行的“0”是整型(int)文字常量。
如果不是非int的数字文字常量,则需要加后缀来表达类型,比如“u”表达短整型文字常量。当然目前编译器容错能力比较强大,不加后缀也可能编译通过不报错。
写了这么多,赶紧在“Z.cpp”写几行相关代码加深理解:
方框圈出来的都是文字常量。
MoreEffectiveC++35个改善编程与设计的有效方法京东¥购买已下架!!!你注意到没?还有三种重要的普通数据类型还没有介绍,它们也是很简单实用的,如下:
字符类型char文字常量:表达单个字符,含特殊字符Tab键、空格、换行、回车等。也用作单字节整型文字常量,表达-到范围的数值。布尔类型bool文字常量:只有true和false两个可能值,表达真值和假值。指针类型文字常量:nullptr表达空指针。这是C++11标准引入的关键字,老版本编译器不支持,可使用NULL或0表达。运行一下(Ctrl+F5),弹出如下界面:
请注意:空指针打印出来是“”(8个0),这是32位程序内存地址。因为VS默认建立的是32位应用程序工程。如果修改该工程设置为64位应用程序,则会打印出“”(16个0)。
学习目标“最简单实用的文字常量介绍”已完成[再见]