国嵌C++专题1-蜕变成蝶

一、C:Objective-C、C++

C++:Java、C#、D

Java:JavaScript、ActionScript


二、1、普通引用在声明时必须用其他的变量进行初始化

2、const引用,让变量拥有只读属性

3、Type& name<<>>Type* const name

4、当函数返回值为引用时:若返回栈变量,不能成为其他引用的初始值,也不能作为左值使用,若返回静态或全局变量,则都可以


三、1、内联函数用来替代宏代码片段,没有普通函数调用时的额外开销

2、内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求。

3、函数声明时为参数提供一个默认值,当函数调用时没有指定这个参数的值,编译器会自动用默认值代替。


四、重载

1、 当函数名和不同的参数搭配时函数的含义不同:参数个数、类型、顺序不同

2、当函数默认参数遇上函数重载时,可能会出现二义性。两者千万不要同时使用!

3、extern "C"  强制让C++编译器对代码进行C方式编译


5、关键字

1、new、delete: new以具体类型为单位进行内存分配,malloc只能以字节为单位进行分配

new可进行初始化,malloc不具备初始化的特性

2、C++将全局作用域分成不同的部分,命名空间的定义:namespace name{  }

3、 使用整个命名空间:using namespace name

使用命名空间的变量:using name::variable

使用默认命名空间中的变量::variable

4、强制类型转换

static_cast:不能用于基本类型指针间的转换

const_cast:去除变量的const属性

dynamic_cast:用于类层次间的转换,交叉转换

reinterpret_cast:指针类型间的强制转换,用于整数和指针类型间的强制转换


6、 1、符号表是编译器自用的内部数据结构

2、只有用字面量初始化的const常量才会进入符号表

3、被volatile修饰的const常量不会进入符号表

4、在编译期间不能直接确定初始值的const量,都被作为只读变量处理


5、当实参为变量并能够精确匹配形参时,不再进行默认类型转换的尝试;当为字面量时,编译器会同时进行精确匹配和默认类型转换的尝试。

6、extern中不允许重载函数,但extern中的函数可以与之外的函数进行重载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值