
C++
小小y979
无界编程!!!
展开
-
C++学习总结——C++ 标准库(9)
2. 头文件 cstdlib(或stdlib.h)3. 头文件 cctype(或ctype.h)含有很多,具体使用时可以参考用户手册。cmath(或math.h)原创 2023-03-13 09:00:00 · 429 阅读 · 0 评论 -
C++学习总结——C++ 函数名重载(8)
注:如果两个函数的参数类型和个数都相同,知识他们的返回值类型不同,不能对其进行函数名重载,因为函数调用时不能区分调用的是哪个函数。对于含有两个或两个以上参数的重载函数绑定问题,原则是先绑定最佳匹配(也就是参数对应个数越多)。(和函数名重载没有太大关系:函数名可转换成函数函数指针)函数名重载:给多个不同的函数(参数的类型或个数有所不同)取相同的名字。6)每个标准转换都是平等的(也就是1到5的优先级相同)3)零可以转换成任何算术类型或指针类型。2)枚举类型可以转换成任何算术类型。1)任何算术类型可以互相转换。原创 2023-03-12 09:00:00 · 171 阅读 · 0 评论 -
C++学习总结——C++ 宏与内联函数(7)
其作用是建议(具体有没有不一定,有些函数加上也不会作为内联函数对待,如递归函数)编译程序把该函数的函数体展开到调用点,这样就避免了函数调用的开销,从而提高了函数调用的效率。因为函数调用需要开销(如:保护调用者的运行环境、参数传递、执行调用指令等),所以函数调用会带来程序执行效率的下降,特别是对一些小函数的频繁调用将是程序的效率有很大的降低。不足:1)重复计算,如max((x+1),(y+2)),因为其只是进行单纯的文字替换。2)#define () 3)#define原创 2023-03-11 09:00:00 · 196 阅读 · 0 评论 -
C++学习总结——C++ 变量的生存期(6)
register: 自动生存期,与auto不同在于,建议(不是一定)编译程序把该局部变量的空间分配在CPU寄存器中,其目的是为了提高对局部变量的访问效率。静态数据区和代码区的大小是固定的,而栈区和堆区的大小随程序的运行不断变化(不过操作系统会对其空间最大值有一定的限制)。3. 编译程序隐式自动将静态生存期的变量按位模式初始化为0,其他变量不对其进行初始化(使用空间中的已有值,因此是不固定的)栈区: auto存储类的局部变量、函数的形参、函数调用时的有关信息(如返回值)如:局部变量、函数的参数。原创 2023-03-10 08:56:03 · 282 阅读 · 0 评论 -
C++学习总结——C++ 标识符的作用域(5)
一个函数内的复合语句又是一个局部作用域,也就是在函数内有某个变量时,复合语句中可以有另外一个同名字的变量。//其中的x和y的作用域从“(”开始到")"结束。包括:局部作用域、全局作用域、文件作用域、函数作用域、函数原型作用域、名空间作用域、类作用域。指在函数定义或者复合语句中,从标识符的定义点开始到函数或者复合语句结束之间的程序段。语句标号(如goto语句中使用的语句标识)是唯一的具有函数作用域的标识符。指用于函数声明的函数原型,其中的形参的作用域从函数原型开始到函数原型结束。指单独的一个源文件。原创 2023-03-10 08:55:08 · 114 阅读 · 0 评论 -
C++学习总结——C++ main函数的返回值(4)
main函数通过返回值把整个程序的执行情况告诉调用者(通常是操作系统,但是操作系统通常会忽视main函数的返回值),一般情况下return 0表示正常结束,return -1表示非正常结束。main函数也可以不写return语句,这时当执行完最后一条语句后自动执行一条“return 0;其他函数的返回值原理同此。原创 2023-03-10 08:52:24 · 117 阅读 · 0 评论 -
C++学习总结——C++ 子程序间的数据传递(3)
2)地址/引用传递:传递实参的地址,可以提高参数传递的效率,可以返回多个执行结果,但是会降低数据访问效率(通过间接的方式访问传输的数据)、可通过形参改变实参。全局变量可以定义在函数外的任何地方,但是如果在使用一个全局变量时未见到它的定义,就要使用extern语句对其进行声明。1)值传递:传递实参的一个拷贝,可以阻止子程序通过形参改变实参,但最多只能返回一个值。2. 通过子程序的参数和返回值机制。原创 2023-03-09 11:05:58 · 240 阅读 · 0 评论 -
C++学习总结——C++ 无条件转移控制(2)
一般情况,很少使用goto语句从复合语句外部转到复合语句内部,多用于从复合语句内部转到复合语句外部,如退出多重循环(goto语句会破坏程序的结构,只有偶尔在这种情况下才使用),但是要是否会跳过变量定义语句,否则该就goto语句是非法的。只能用户循环体中,结束本次循环(也就是不在执行循环体中continue后面的语句),进入下一次循环(不是跳出循环体)。注意:不能用goto语句从函数外部转入函数的内部,也不能从函数内部转入到函数的外部;是个标识符,定义格式为: ;原创 2023-03-09 11:04:14 · 93 阅读 · 0 评论 -
C++学习总结——C++基本数据类型和表达式(1)
符号常量:又称命名常量,指有名字的常量,如 const double PI=3.1415;1. C++是一种静态类型语言(运行前指定每个数据的类型),也是一种强类型语言(对数据的操作进行严格的类型检查)。计算过程中要注意数据的底层表示(是否溢出等)、表达式的副作用(短路求值等)。先a > int, 然后(a*b) > double。声明: extern ;2)按算术、移位、关系、逻辑位、逻辑依次降低。typedef ;4. 常量包括两种:字面常量和符号常量。原创 2023-03-09 11:02:37 · 110 阅读 · 0 评论