zoukankan      html  css  js  c++  java
  • 《C++ Primer》 第02章 [ 变量和基本类型 ]

    第02章:变量和基本类型
    第三节:变量
    @ 学习摘录007:
    ——C++是一门静态类型语言,在编译的时候会作类型检查.
    @ 学习摘录008:
    ——左值:lvalue,左值可以出现在赋值语句的左边或右边。
    ——右值:rvalue,右值只能出现在赋值的右边,不能出现在赋值语句的左边。
    ——变量是左值,因此可以出现在赋值语句的左边,数字字面是右值,因此不能被赋值。
    摘录有想008:
    ——在我理解中,因为变量可在左也可在右,因此它为左值,而数字则只能出现在右边,因此它为右值。
    @ 学习摘录009:
    ——变量提供了可以操作的有名字的存储区,对象就是内存中具有类型的区域。
    摘录有想009:
    ——例如:int a; class b{}; b c; 这里,a 和c属于对象。
    @ 学习摘录010:
    ——初始化变量不是赋值。
    ——初始化:指创建变量并给它赋初始值。
    ——赋值:是擦除对象的当前值并用新值代替。
    @ 学习摘录011:
    ——初始化变量有两种形式。
    ——1. int ival(1024);  // direct-initialization  直接初始化
    ——2.int ival = 1024;  // copy-initialization  复制初始化
    @ 学习摘录012:
    ——复制初始化和直接初始化之间的差别是很微妙的。
    ——现在我们只需知道,直接初始化的效率更高。
    @ 学习摘录013:
    ——未初始化变量引起的错误难以发现,永远不要依赖未定义行为,使用未初始化的变量是常见的程序错误。虽然许多编译器都至少会提醒不要使用未初始化变量,但是编译器并未被要求去检测未初始化变量的使用。而且,没有一个编译器能检测出所有未初始化变量的使用。
    收大收获014:
    ——extern声明不是定义,也不分配存储空间。
    ——事实上,它只是说明变量定义在程序的其他地方。
    摘录有想014:
    ——extern的使用得注意,一个文件里面放定义,另外一个文件里面放声明才可以,上次同学就是犯了这样的错误,没有在另一个文件中声明就想用extern变量了。
    @ 学习摘录015:
    ——只有当声明也是定义时,声明才可以有初始化式,因此只有定义才分配存储空间。
    @ 学习摘录015:
    ——看来下次写程序时真的要直接在声明的时候就定义好,那样的话就安全多了。
    @ 学习摘录016:
    ——作用域可以分为三种:
    ——1.全局作用域(global scope)
    ——2.局部作用域(local scope)
    ——3.语句作用域(statement scope)
    摘录有想016:
    ——有语句 for(int val = 1; val <= 10; ++val) sum += val;
    ——此处,val 定义在for语句的作用域中,只能在for语句中使用,而不能在main 函数的其他地方。
    第五节:引用
    @ 学习摘录018:
    ——“const引用”的意思是“指向const 对象的引用”。
    @ 学习摘录019:
    ——非const引用只能绑定到与该引用同类型的对象。
    ——const引用则可以绑定到不同但相关的类型对象或绑定到右值。
    第八节:类类型
    @ 学习摘录020:
    ——每类都定义了一个接口(interfer)和一个实现。
    ——接口由使用该类的代码需要执行的操作实组成。
    ——实现一般包括该类所需要的数据。
    ——类体定义了组成该类型的数据和操作。操作称为成员函数,数据则称为数据成员。
    @ 学习摘录021:
    ——用class和sturct关键定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为pulbic,而class的成员为private.
    @ 学习摘录022:
    ——当我们在头文件中定义了const变量后,每个包含该头文件的源文件都有了自己的const 变量,其名称和值一样。
    @ 学习摘录023:
    ——避免多重包含,为了避免多重包含,避免名字冲突,预处理器变量经常用全大写字母表示。
    #ifndef ABC_H
    #define ABC_H // Definition of ABC class and related functions goes here
    #endif
    摘录有想023:
    ——看了这么多书,这么多个例子,终于知道为什么它总是用大写来表示了。
  • 相关阅读:
    关于嵌套循环的循环初始化语句问题:
    自己写的小程序
    计算1-1/3+1/5-1/7+···的前n项和
    终于弄好了 homework-09
    现代C++作业2 与 围棋homework-06
    C++11 能好怎?
    黄金点游戏之客户端(homework-05)
    惊艳的随机化方法 -World Search (homework-04)
    GUI、模块化与结对编程(homework-03)
    最大二位子数组和问题(homework-02)
  • 原文地址:https://www.cnblogs.com/robbychan/p/3787187.html
Copyright © 2011-2022 走看看