C++入门第一天

1.C++命名空间的学习以及使用,嵌套命名空间的使用。

2.C++对struct结构体的强化,不需要再加struct。

3.C++ 实用性增强,变量可以在需要的几乎任何地方进行使用定义。

4.C++三目运算符可以作为左值了,而C不能,原因在前者是返回变量(内存)后者是返回了值而已。体现出C++编译器的智能化,当三目运算符作为左值时候,会自动取地址,作为右值时候会赋值给左边的变量。

5.C++编译器会自动做优化需要的变量register,但是不能取被修饰过的register地址。而C需要手工请求register,编译器可以拒绝,此外可以取被register修饰的变量的地址,当然此时变量失去了register的优化特性。

6.(1)const在C与C++中的区别:前者是假的常量,会分配内存,可以使用指针间接修改const修饰的变量,后者是真正的常量,不能修改被const修饰过的变量,存在符号表,此外如果有取地址的操作,才回分配内存给被const修饰的变量,否则不会分配内存,分配内存的行为是在编译器编译期间。

   (2)const与#define的区别:前者提供定义域和类型检查并且在编译期间使用。后者是预处理期间使用,并且不提供定义域和类型检查,只是等效于粘贴。

7.引用&,等效于 (类型)*const a,地址不可变。初始化后就不可变。本质就是变量(内存)的别名,其他的就是内存的问题了。既可以当左值,也可以当右值,也可以当函数的引用返回,也可以当函数的参数引用。用法非常多。但是只要抓住它就是内存的别名,那么就很好理解并且正确无误地使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值