摘要:
1. 内联函数普通函数调用: 存储调用指令的地址-》将函数参数复制到堆栈-》跳到函数地址执行代码(返回值放到寄存器)-》跳回调用指令处 2. 当代码执行时间很短,且会被大量调用的时候,使用内联函数将节省调用的时间。 3. 定义方法: 省略原型,并将整个定义放在本应该放原型的地方,书写... 阅读全文
摘要:
C++的返回值类型不能是数组函数原型中的变量名相当于点位符,因此不要求提供变量名。void cheers(int);C++中不指定参数列表时就使用活力号:void saybye(...);通常,仅当与接受可变参数的C函数(如printf())交互时才需要这样做。静态类型检查:在编译阶段进行的原型化。函数调用时将参量(实参)传递给参数(形参,函数定义中 用于接收参数而声明的变量)。cin>>输入时跳过前面的空格和换行符。当且仅当用于函数头或函数原型中时,int arr[] 和 int *arr 才相同,都表示指针。要传递数组类型 和 元素数量时,要分成两个参数来传递,而不能用方括号直 阅读全文
摘要:
||、 &&操作符是一个顺序点>n数字出错时:n值保持不变;错误输入被留存队列中;设置一个错误标记;返回cin 或 false。简单文件输入/输出:cin>>某一类型时:cin不断读取,直到遇到不属于该类型的字符时为止,并将其丢回输入流。cin.getline(arr, 50),直到遇到换行符,最后会将换行符丢弃。包含头文件fstream。文件输入输出的ostream/fstream。#include #include ......ofstream outFile;outFile.open("C:\***.txt");//如果不存在,则会新 阅读全文
摘要:
C++将赋值表达式的值定义为左侧成员的值赋值操作符是自右向左结合的cout.setf(ios:: boolalpha);//调用设置标记,命令cout输出true或false,而非1或0.任何表达式加上分号都会成为语句,但反过来不一定成立:int n;顺序点:程序执行过程中的一个点,在这里,在进行下一步之前将确保对所有的副作用进行了评估。完整表达式:不是另一个表达式的子表达式(没有任何表达式是它的父表达式)。比如下面的整个表达式是一个表达式,其中的两个子表达式都不是完整表达式:y = (4 + x++) + (6 + x++);//完整表达式结束后对所有副作用进行了评估,在子表达式(4+ x+ 阅读全文
摘要:
本章介绍的有复合类型有: 数组、 字符串、 结构、 共用体、 指针数组:声明数组时数组长度必须为常量(或const)。只有初始化时可以用“=”,其它时候均不可以给数组直接赋值,除了赋值的元素以外其它全默认为0:int myArr[10] = {10,8};初始化时数组长度不设时,编译器会根据内容计算元素个数:int myArray[] = {3,2,45}字符串:C风格的字符串后面都要有'\0',否则不是字符串;引号括起来的字符串隐藏带'\0':char dog[4] = {'x', 'j', 'p', ' 阅读全文
摘要:
&操作符可以取到变量在内存中的位置limits.h头文件包含了各种限制的符号的名称。#include 。如INT_MAX,SHRT_MAX,LONG_MAX。float.h头文件中定义了浮点型中各各限制符。如float/double的精度等。sizeof返回 类型名 或 变量 的长度(字节)。siz... 阅读全文
摘要:
预处理器:在代码编译之前把内容添加到代码中并组成另一个复合文件。一些老式编译器要用预处理编译指令#include,而新编译器用#include;后面要加using namespace std;命名空间:如上的std,不使用编译指令using导入时,可以使用std::cout以便区别不同命名空间内的方法。int main函数可以省略return; 阅读全文
摘要:
计算机语言要处理的两个问题: 数据和算法。C语言:结构化编程。解决了意大利面条式的难以读懂的编程问题。for while do```while if```else自顶向下的设计。将程序从上向下分解成可易于编写的模块。过程性编程。强调的是算法方面,即计算机应做的操作,然后使用语言完成这些操作。C++OOP。OOP则强调的是编程的数据方面。属于自下向上的编程:从低级组织(如类)到高级组织(如程序)的处理过程通用编程。强调的是独立于数据的算法方面。windows编译器中的几个概念compile:编译当前代码build:递增(只编译改变的)地编译工程中的代码build all:全重新编译link:将编 阅读全文