update 2014-05-17 一.位运算 应用: 1.判断某一位是否为1 2.只改变其中某一位,而保持其它位都不变 位运算操作: 1.& 按位与(双目): 将某变量中的某些位(与0位与)且同时保留其它位不变(与1位与):获取某变量中某一位(与其位与后判断是否为该数) 2.|  按位或(双目): 将某变量中的某些位(与1位或)且保留其它位不变 3.^  按位异或(双目): 将某变量中的某些位异或)且保留其它位不变 与0异或保持不变,与1异或相当于取反: 与自身异或为0: 满足交换律,具有逆运…
一 .C++入门 1.C++关键字 2.命名空间 3.C++输入&输出 4.缺省参数 5.函数重载 6.引用 7.内联函数 8.auto关键字 9.基于范围的for循环 10.指针空值nullptr&nullptr_t 二. 正文 1.C++关键字(C++98) C++98中的关键字总共用63个,如下表: 在这这做简单介绍,感兴趣的朋友可以参考相关资料作进一步了解. 2.命名空间 由于在编写程序的过程中,很容易出现变量.函数和类重名的现象,这些变量.函数和类都在全局作用域中,因此会导致很多…
这个条目叫做,尽量使用编译器而不要使用预处理器更好.#define并没有当作语言本身的一部分. 例如下面的例子: #define ASPECT_RATIO 1.653 符号名称永远不会被编译器看到.它可能在源码到达编译器之前被预处理器移除.ASPECT_RATIO 最终不会进入符号表,如果因为这个常量的使用而导致编译错误,会使你非常迷惑,因为错误信息会指向1.653而不是ASPECT_RATIO.如果ASPECT_RATIO被定义在一个不是你自己写的头文件中,你会不知道1.,653来自哪里.,…
本文转自: http://topic.csdn.net/t/20051220/09/4469273.html 函数的inline属性是在编译时确定的, 然而,virtual的性质是在运行时确定的,这两个不能同时存在,只能有一个选择,文件中的inline关键字只是对编译器的建议,编译器是否采纳是编译器的事情. 1.内联函数是个静态行为,而虚函数是个动态行为,他们之间是有矛盾的. 2.我们之所以能看到一些象内联函数的虚函数,是因为某个函数是否是内联函数不是由我们说的算,而是由编译器决定的.我们只能向…
1.内联函数 存在的背景:函数调用存在开销(调用时候参数压栈,返回地址压栈:返回时从栈取出返回地址,跳转到返回地址.总共需要几条指令的开销).如果函数指令较少,调用多次,函数调用的开销占比大. 内联函数的处理:编译器处理对内联函数的调用语句时,将整个函数代码插入到调用语句处,不会产生函数的语句. 使用:在函数定义前面加入inline关键字 e.g. inline int max(int num1,int num2) 弊处:可能会增大可执行程序的大小 2.函数重载 定义:一个或多个函数,名字相同,…
How do I call a C function in another module from inline assembler in IAR EWARM? I have a bit of assembly in a hard fault handler. The assembly is basically meant to pass the current stack pointer as a parameter (in R0). It looks like so... __asm(" m…
1.const引用: 但是加上const之后是可以的,const int &a=100;就不会报错了. 2.函数占位参数: 如果给最后的占位参数加上默认值: 3.内联函数 内联只是对编译器发起一个申请,编译器可以拒绝用户的请求.内联函数只用在普通函数的开头加上inline关键字. 当编译器发现某段代码在调用一个内联函数时,它不是去调用该函数,而是将该函数的代码,整段插入到当前位置.这样做的好处是省去了调用的过程,加快程序运行速度.节省时间但是消耗空间. inline函数的规则 (1)含有递归调用…
宏, const变量, 内联, 枚举 宏 宏定义: 宏即宏替换,在C语言源程序中允许用一个标识符来表示一个字符串,称为宏,关键字 define,在所有使用到宏的地方都只是直接的替换而不做任何类型检查 宏替换是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义,文件包含,条件编译,C++继承C的遗产,在C++中也可以使用宏,宏不能访问对象的私有成员, 宏的定义很容易产生二义性 特点:在预处理阶段对宏定义的替换,使用时要特别小心:宏本身不占用内存单元,但每次调用都分配内存:语句的最后不加分号…
一.内联汇编的优缺点 因为在Visual C++中使用内联汇编不需要额外的编译器和联接器,且可以处理Visual C++中不能处理的一些事情,而且可以使用在C/C++中的变量,所以非常方便.内联汇编主要用于如下场合: 1.使用汇编语言写函数: 2.对速度要求非常高的代码: 3.设备驱动程序中直接访问硬件: 4."Naked" Call的初始化和结束代码. //(."Naked",理解了意思,但是不知道怎么翻译^_^,大概就是不需要C/C++的编译器(自作聪明)生成的…
1,为小操作定义一个函数的好处是:     a.可读性会强很多.     b.改变一个局部化的实现比更改一个应用中的300个出现要容易得多     c.函数可以被重用,不必为其他的应用重写代码     不过,将小操作写成函数有一个严重的缺点:调用函数比直接计算条件操作符要慢很多.那怎么能兼顾以上优点和效率呢?C++提供的解决方案为inline(内联)函数. 2.inline的原理:代码替代 在程序编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来进行替代. 如果一个函数被指定为…