【C++ primer 笔记】第一章

1.extern 对变量声明时 ,不对变量赋初值,也不为之分配存储空间。声明不是定义,只是说明该变量在其他文件出现。例如 extern int i;但是 extern int i = 1;这种情况表明已经定义,不可重定义,且该方式只能出现在函数外部。

2.const 定义后时变量必须初始化,且之后不可被修改; const变量默认为文件的局部变量,可以使用extern在整个程序中进行访问

3.引用类型(引用是别名)
int ival = 3;
int &refVal = ival;//ok
int &refVal2;//error,必须被初始化
int &refVal3 = 10;//error
refVal = 5;//效果是把ival的值改为5
const int num = 5;
const int &point = num;//ok,const类型变量的引用必须是const引用
int &point = num;//error

--P52

4.当类末尾的分号缺失时,编译器会报错,但是报错内容难以理解……
如下:

1>------ 已启动生成: 项目: chapter2, 配置: Debug Win32 ------
1>生成启动时间为 2012/9/18 21:13:35。
1>InitializeBuildStatus:
1>  正在创建“Debug\chapter2.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
1>ClCompile:
1>  fuzhi.cpp
1>g:\c++ primer\c++\chapter2\fuzhi.cpp(30): error C2628: “Foo”后面接“int”是非法的(是否忘记了“;”?)
1>g:\c++ primer\c++\chapter2\fuzhi.cpp(31): error C3874: “main”的返回类型应为“int”而非“Foo”
1>g:\c++ primer\c++\chapter2\fuzhi.cpp(32): error C2440: “return”: 无法从“int”转换为“Foo”
1>          无构造函数可以接受源类型,或构造函数重载决策不明确
1>
1>生成失败。
1>
1>已用时间 00:00:01.08
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========

5.class的成员默认为private, struct的成员默认为public

6.头文件里不要放变量的定义,只放变量的声明

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值