C++ primer学习记录

DAY1

 g++  -o  name  name.cpp
编译命令 , -o hello是编译器参数,指定了可执行文件的文件名

echo $? 获取刚才结束的程序的返回值

文件重定向 ./文件名 <输入文件> 输出文件
for example:   ./file<in>out

DAY2

extern //声明,可以跨文件使用变量
extern const int a

const int *p;//可以改变指针的指向,但不能改变指针所指位置的值(p是指向常量的指针)
int *const p;//不能改变指针的指向,但可以改变指针所指位置的值(p是常量指针)
const int *const p;//既不能改变指针的指向,也不能改变指针所指位置的值(p是指向常量的常量指针)



DAY3

声明为constexpr的变量一定是一个常量,且必须用常量表达式初始化
一个constexpr指针的初始值必须是nullptr或者0或者存储于某个固定地址中的对象
函数体内定义的变量"一般"并非存放在固定的地址中,因此constptr不能指向这样的变量
constptr声明中如果定义了一个指针,限定符仅对指针有效,与指针所指的对象无关

指针本身是个常量称为 顶层const
指针指向一个常量称为 底层const
当执行对对象的拷贝操作时 顶层const不受影响
而底层const却会带来限制 拷入和拷出的对象必须具有相同的底层const资格

auto 一般会忽略掉顶层const,并保留底层const
如果希望推断出的auto 类型是一个顶层const需 const auto
auto 和 decltype 区别
1 auto 忽略顶层const decltype 保留顶层const
2 遇到引用,auto推断出原有类型,decltype推断出引用
3 对解引用操作 auto推断出解引用操作,decltype推断出引用
4 auto会实际执行,decltype不会执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值