
C++
父進程
有的人25岁就死了,但到75岁才埋
展开
-
c++系列文章(12):表达式
表达式由一个或多个运算对象组成,对表达式求值将得到一个结果。字面值和变量是最简单的表达式,其结果就是字面值和变量的值。把一个运算符和一个或多个运算对象组合起来可以生成较复杂的表达式。表达式的基本概念 C++定义了一元运算符和二元运算符,此外还有一个作用于三个运算对象的三元运算符。函数调用也是一种特殊的运算符,它对运算对象的数量没有限制。 在表达式求值的过程中,运算对象常常需要由一种类...原创 2020-03-02 19:41:55 · 619 阅读 · 0 评论 -
c++系列文章(11):多维数组
严格来说,C++语言中没有多维数组,通常所说的多维数组其实是数组的数组。当一个数组的元素仍然是数组时,通常使用两个维度来定义它:一个维度表示数组本身大小,另一个维度表示其元素(也是数组)大小。int ia[3][4]; //大小为3的数组,每个元素是含有4个整数的数组int arr[10[20[30] = {0}; //大小为10的数组,其个元素是大小为20的数组,这些数组的袁术是含有30...原创 2020-02-29 11:14:02 · 247 阅读 · 0 评论 -
c++系列文章(10):C风格字符串
尽管C++支持C风格字符串,但是C++程序中最好还是不要使用它们,因为C风格字符串不仅使用不方便,而且极易引发程序漏洞,是诸多安全问题的根本原因。 字符串字面值是一种通用结构的实例,这种结构就是C风格字符串。C风格字符串不是一种类型,而是为了表达和使用字符串而形成的一种约定俗成的写法。按此习惯书写的字符串存放在字符数组中并以空字符结束。以空字符结束的意思是在字符串最后一个字符后面跟着一个空...原创 2020-02-26 16:46:49 · 194 阅读 · 0 评论 -
c++系列文章(9):数组
数组是一种类似于vector的数据结构,数组也是存放类型相同的对象的容器,但数组的大小确定不变,不能随意向数组中增加元素。标题定义和初始化内置数组 数组的声明形式为“a [d]”,其中a是数组的名字,d是数组的维度。维度说明了数组中元素的个数,因此必须大于0。数组中元素的个数d也属于数组类型的一部分,编译的时候维度应该是已知的,也就是说,维度必须是一个常量表达式。unsigned cn...原创 2020-02-26 12:47:31 · 205 阅读 · 0 评论 -
c++系列文章(8):标准库类型string、vector
string初始化string对象的方式:string s1; //默认初始化,s1是一个空串string s2(s1); //直接初始化,s2是s1的副本string s3("value"); //直接初始化,s3是字面值“value”的副本,除了字面值最后的那个空字符外string s3 = "value"; //拷贝初始化,等同于s3("value"),s3是字面值"value"的...原创 2020-02-25 11:00:34 · 133 阅读 · 0 评论 -
c++系列文章(7):自定义数据类型
自定义数据类型 类体右侧的表示结束的花括号后必须写一个分号,这是因为类体后面可以紧跟变量名以示对该类型对象饿定义,所以分号必不可少。分号表示声明符的结束,一般来说,最好不要把对象的定义和类的定义放在一起。struct Sales_data {} /*......*/} accum,trans,*salesptr;// 与上一条语句等价,但可能会更好struct Sales_data {/...原创 2020-02-20 12:25:51 · 240 阅读 · 0 评论 -
c++系列文章(6):类型别名和自动类型
博客链接类型别名 类型别名是一个名字,它是某种类型的同义词。使用类型别名可以使复杂的类型名字变得简单明了、易于使用。c++有两种方法用于定义类型别名:typedef和using。 typedeftypedef double wages; //wages是double的同义词typedef wages base,*p; //base是double的同义词,p是double*的同义词...原创 2019-12-21 15:44:32 · 291 阅读 · 0 评论 -
c++系列文章(5):constexpr和常量表达式
常量表达式是指值不会改变并且在编译阶段就能得到计算结果的表达式,显然字面值属常量表达式,用常量表达式初始化的const对象也是常量表达式。 一个对象(或表达式)是不是常量表达式由它的数据类型和初始值共同决定。//staff_size不是常量表达式,尽管staff_size的初始值是个字面值常量,但是它的数据类型只是一个普通的int而非const int。int staff_size =...原创 2019-12-21 10:45:46 · 216 阅读 · 0 评论 -
c++系列文章(4):const限定符
初始化const对象一旦创建后其值就不能再改变,所以const对象必须初始化,且初始值可以使任意复杂的表达式。const int i = getsize(); //运行时初始化const int j = 1; //编译时初始化...原创 2019-12-10 21:54:07 · 90 阅读 · 0 评论 -
c++系列文章(3):复合类型——指针和引用
复合类型是指基于其他类型定义的类型,本文主要介绍其中的两种:指针和引用。最简单的声明语句由一个数据类型和紧随其后的一个变量名列表组成,但更通用的描述是,一条声明语句由一个基本数据类型和紧随其后的一个声明符列表组成。每个声明符命名了一个变量并指定该变量为与基本数据类型有关的某种类型。...原创 2019-12-08 20:57:48 · 107 阅读 · 0 评论 -
c++系列文章(2):分离式编译——变量的声明和定义
博客链接 C++语言支持分离式编译,该机制允许将程序分割成若干个文件,每个文件可被独立编译。如果将程序分为多个文件,则需要在文件之间共享代码,例如一个文件中的代码可能需要使用另一个文件中定义的变量,如cin和cout在标准库中定义,我们却能在自己的程序中使用。声明和定义 为了支持分离式编译,C++语言将声明和定义区分开来。声明使得名字为程序所知,一个文件如果想使用别处定义的名字则必须包含...原创 2019-12-06 23:05:40 · 202 阅读 · 0 评论 -
c++系列文章(1):signed和unsigned
**带符号类型(signed)**可以表示正数、负数或0,**无符号类型(unsigned)**仅能表示大于等于0的值。C++标准并没有规定signed类型应该如何表示,但约定了在表示范围内正值和负值的量应该平衡。在计算机内部,signed类型二进制的最高位是符号位,用来表示正负,其余二进制位用来表示数值;unsigned类型的所有二进制位都用于表示数值。类型最小值最小值大小...原创 2019-12-06 21:46:16 · 1435 阅读 · 0 评论