C++ Primer 第二章
来源:互联网 发布:访客营销效果数据 编辑:程序博客网 时间:2024/05/16 13:04
//////////////////////////////////////////////////////////////////////////
//2.1
//2009-5-20
//
//C++标准库
//标准库类型 string vector
/*
C++标准规定了每个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。
表2-1 C++算术类型
bool 布尔型 -
char 字符型 8位
wchar_t 宽字符型 16位
short 短整型 16位
int 整型 16位
long 长整型 32位
float 单精度浮点型 6位有效数字
double 双精度浮点型 10位有效数字
long double 扩展精度浮点型 10位有效数字
*/
/*
表示整数、字符和布尔值的算术类型合称为整型(integral type)
char 类型通常是单个机器字节(byte)
wchar_t 类型用于扩展字符集,比如汉字和日语。
short、int和long类型都表示整型值,存储空间的大小不同
short 类型为半个机器字长
int 类型为一个机器字长
long 类型为一个或两个机器字长(在32位机器上int类型和long类型通常字长是相同的)
bool 类型表示真值true和false。0值算术类型代表false,任何非0值都代表true
求模!
*/
/*
float 一个字
double 两个字
long double 三个或四个字
*/
//程序中选择 int double
//////////////////////////////////////////////////////////////////////////
//2.2
//2009-5-20
//
/*
#include <iostream>
void main()
{
std::cout << "a multi-line "
"string literal "
"using concatenation"
<< std::endl;
std::cout << "a multi-line /
string literal /
using concatenation"
<< std::endl; // ‘/’后面不能有空格或注释
std::cout << -10e-2 << std::endl;
int ival(1024); //复制初始化
int jval = 1024;//直接初始化
int mouth = 01;
std::cout << mouth << std::endl;
}
*/
//////////////////////////////////////////////////////////////////////////
//2.3
//2009-5-22
//
/*
#include <iostream>
#include <string>
extern double pi = 3.14159; //这是定义,不是声明
int a = 10;
void main()
{
//C++关键字 2.3.2 auto
std::string titleA = "C++ Primer, 4th Ed.";
std::string titleB("C++ Primer, 4th Ed.");
std::string all_nines(10,'9');
//2.3.3 2 有多个初始化式时不能使用复制妆始化?????
int input_value;
std::cin >> input_value;
//2.3.4 内置类型变量,在函数体外定义都初始化成0,在函数体里定义不进行自动初始化。
//大多数类都提供默认构造函数,如string类定义默认构造函数来初始化string变量为空字符串。
std::string empty; //empty = "";
//有些类类型没有默认构造函数。对于这结类型来说,每个定义都必须提供显式的初始化式。
//2.3.5
//变量的定义用于为变量分配存储空间,还可为变量指定初始值.在一个程序中,变量有且仅有一个定义.
//声明用于向程序表明变量的类型和名字.定义也是声明:当定义变量时我们声明了它的类型和名字.
//可以通过使用extern关键字声明变量名而不定义它。
extern double pi;
//extern double x = 3; 这句初当作是定义,但必须在函数体外;
extern std::string name;
//2.3.6
//定义在函数外部的名字具有全局作用域 global scope
//在函数体中都可访问的变量有局部作用域 local scope
//在for语句中的变量,具有语句作用域 statement scope
//局部变量与全局变量同名,局部变量屏蔽全局变量
std::cout << a << std::endl;
for(int a = 1; a < 10; a++)
std::cout << a;
//2.3.7
}
*/
//////////////////////////////////////////////////////////////////////////
//2.4 const
//2009-5-22
//
/*
void main()
{
const int bufSize = 512;
for(int index = 0; index != bufSize; ++index)
{
}
//const对象默认为文件的局部变量
//非const变量默认为extern.
}*/
//////////////////////////////////////////////////////////////////////////
//2.5 引用
//2009-5-22
//
/*
#include <iostream>
void main()
{
int ival = 1024;
int jval = 2048;
int &refVal = ival; //refVal相当于ival的别名
refVal = jval; //相当于 ival = jval;
std::cout << refVal << std::endl;
std::cout << ival;
//const 引用
const int i = 1024;
const int &ref = i;
//
int j = 42;
const int &r = 42;
const int &r2 = r + i;
double dval = 3.14;
const int &ri = dval; //int temp = dval;const int &ri = temp;
int ri1 = ri;
}
*/
//////////////////////////////////////////////////////////////////////////
//2.6 typedef 2.7 枚举
//2009-5-22
//
/*
enum Points{point2d = 2, point2w, point3d = 3, point3w};
void main()
{
Points pt3d = point3d;
}
*/
//////////////////////////////////////////////////////////////////////////
//2.8 类类型
//2009-5-22
//
class Sales_item{
public:
//operations on Sales_item object will go here
private:
std::string isbn;
unsigned units_sold;
double revenue;
//定义变量和定义数据成员存在非常重要的区别:一般不能把类成员的初始化作为其定义的一部分。
//当定义数据成员时,只能指定该数据成员的名字和类型。
//类不是在类定义数据成员时初始化数据成员,而是通过构造函数的特殊成员函数控制初始化。
};
struct Sales_item{
// no need for public label, members are public by default
private:
std::string isbn;
unsigned units_sold;
double revenue;
}
- C++primer 第二章
- C++primer 第二章
- c++primer第二章
- c++primer第二章习题
- C++primer 第二章习题
- C Primer读书笔记第二章
- C primer plus 第二章
- C Primer Plus 第二章
- C++primer第二章笔记
- C++primer第二章习题
- c primer plus 第二章习题摘录
- c++primer 学习笔记(第二章)
- C++Primer读书笔记(第二章)
- 【c++Primer】第二章掌握C++总结
- 《C Primer Plus 》 第二章总结
- C+Primer+Plus学习笔记-第二章
- C++primer 第五版 第二章
- C++Primer 第二章详细梳理
- 数值常量和指针常量
- uCOS和uClinux的比较(摘录自:电子技术应用 作者:朱显新 黄涛 卢珞先 发布时间:2005-12-25)
- JavaScript操作IFrame窗体与父窗体
- Windows下快速的切换网络配置状态
- 墨菲定律--
- C++ Primer 第二章
- C1083错误!
- Groovy Tip 35 正则表达式 四
- 两台SQL Server数据同步解决方案
- 技术问题(事件)
- 未核签名信用卡被盗刷超市是否担责?
- Makefile中指示符“include”、“-include”和“sinclude”的区别
- 今天早上起来写了一个smarty与函数相互结合的一个分页,上网搜了下发现他们写的太复杂,看不懂,自己写吧!写的不好,大家不要笑
- 编写操作系统的平台之争:Windows还是*nix