C++学习笔记:关键字解析与编程规范
需积分: 10 104 浏览量
更新于2024-12-27
收藏 2KB TXT 举报
"个人的C++学习笔记,涵盖了C++编程语言的基础知识,包括类型定义、常量、运算符、条件语句、循环控制、函数、数组和内存管理等多个方面。"
在C++编程中,`typedef`是一个关键字,用于为现有的数据类型创建一个新的别名。例如,在笔记中,`typedef double profit`定义了一个新的类型`profit`,它等价于`double`类型。同样,`typedef int INT, integer`也创建了两个新的整型别名`INT`和`integer`。要注意的是,`typedef`并不创建新的数据类型,而是提供了一种简化已存在类型名称的方式。
在C++中,`const`用于声明常量。如`const int size=100*sizeof(int)`是合法的,因为它在编译时就能确定值。然而,`const int number=max(15,23)`会导致错误,因为`max()`函数返回值在运行时才能计算,这违反了常量的定义,即常量的值在编译时必须是确定的。
`sizeof`运算符用于获取一个类型或变量在内存中占用的字节数。例如,`sizeof(int)`会返回4(假设在32位系统上),而`sizeof(double)`通常会返回8。
在条件语句中,`if (x=9)`会将`x`赋值为9,而非检查`x`是否等于9。为了避免这种常见错误,应使用`==`进行比较,如`if (x == 9)`。
C++支持三目运算符,如`(x>y)? "greaterthan" : (x==y)? "equalto" : "lessthan"`。这个表达式根据条件选择并返回相应的字符串。正确格式化后,应写为:`((x>y)? "greaterthan" : ((x==y)? "equalto" : "lessthan"))`。
在赋值和初始化方面,`d=(a=1,b=a+2,c=b+3)`是合法的,它会依次计算`a`、`b`和`c`的值,最后将它们的组合赋给`d`。但注意,`for`循环的语法需要正确,如`for(i=0, j=100, k=0; i<=j; i++, j++)`。
`goto`语句在C++中是允许的,但它不推荐使用,因为它可能导致难以理解和维护的代码结构。
在函数定义和调用中,`void main()`是C++程序的入口点,但若在函数内部定义变量`n`,在其他函数中直接使用`n`会导致错误,因为未定义的变量`n`。要使`n`在多个函数间可见,可以将其声明为全局变量或使用参数传递。
关于内存管理和数组,例如`int k=1; double x; x=double(k);`将`k`的值转换为`double`并赋给`x`。数组的大小必须在声明时确定,如`int array[size]`在`size`未定义时会导致错误。如果`size`是常量,则可以在运行时分配数组,如`int arr[size]`或`char charray[n]`。
最后,C++支持函数重载和内联函数。函数重载允许在同一个作用域中定义具有相同名称但参数列表不同的函数。内联函数(`inline`关键字)用于优化小函数的性能,通过在调用处替换函数体来避免函数调用开销。但编译器并不一定会接受所有的内联请求,而是根据具体情况决定。
这份笔记覆盖了C++语言的基本概念,对初学者来说是一份不错的参考资料。
2020-11-27 上传
2013-06-23 上传
2019-08-13 上传
2014-06-24 上传
2023-07-28 上传
2022-09-23 上传
2014-03-22 上传
2023-11-13 上传
madecoderman
- 粉丝: 0
- 资源: 1
最新资源
- CSharp算法Cambridge University Press - Data Structures and Algorithms Using C# (Mar 2007)
- 华为_Verilog HDL入门教程
- 基于CAN总线的β-甘露聚糖酶发酵控制系统的研究
- 2009年考研计算机专业基础综合大纲
- altera nios从入门到精通
- 类人机器人手臂控制系统设计
- 单元测试测试用例设计
- Windows文件系统过滤驱动开发教程(第二版)
- 常用485芯片通信协议
- 232-485转接电路
- linux多线程编程手册.pdf
- Tornado使用指南
- x5045简介资料 设计的好帮手
- 《MiniGUI 用户手册》.pdf
- cc2500中文数据手册
- hibernate in action(第二版)