c++学习笔记学习笔记1

C++初始化:int a(1);剥离=是初始化还是赋值的问题
静态区,未初始化,初值为0
::作用域运算符,全局作用域名字为空
time.h ctime的区别 是ctime在std名空间下(作用域)
10.5 double类型 8字节
10.5F float类型 4字节
printf("%d,%d",10.5, 10);printf类型不安全,10.5的输出可能是任意数,一个错全部都回错
printf无法重写
c语言参数传递方式:传值,传地址.
c++用引用传递参数:简洁:比传递指针更加简洁,高效:传类或结构体时不用拷贝副本
指向常量的指针:内容不可改变
const int* p = &n;
指针常量:指针不可改变
int *const p = &n;
错误:
const int* p = &n;
int* q = p;
正确:
int* p = &n;
const int* q = p;
常引用:
const int& rn = n;
rn可以进行读,但不可以进行写操作。
内存申请:
c:malloc、calloc,判断是否失败看指针是否为NULL
c++:new、delete:判断是否失败使用try,catch
new(nothrow) int[0xFFFFFF]:表示不抛出异常
void screenInit(int width = 600, int heigth = 800);
可以使用默认参数,但是如果第一个有默认参数,后面都的得有默认参数,且需要出现在声明位置
否则调用时会出现这种情况:screenInit(, 900)
宏:替换,必须加括号,而且在使用时别使用表达式:
例:
#define MAX(a, b) ((a)>(b))?(a):(b)
使用表达式:MAX(n,m++) == ((n)>(m++))?(n):(m++)
不加括号:#define MUL(a) a*a
MUL(1+2) == 1+2*1+2
c++使用inline函数来代替宏,弥补缺点,但是代码不要太长

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值