![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
G_rrrr
这个作者很懒,什么都没留下…
展开
-
c++primer/2/21---基本内置类型
1.736424000110117364250111000173642601100转载 2012-02-21 17:16:16 · 438 阅读 · 0 评论 -
c++primer 2/29---sizeof,优先级,new 和 delete
对 char 类型或值为 char 类型的表达式做 sizeof 操作保证得 1因为 sizeof 返回整个数组在内存中的存储长度,所以用 sizeof 数组的结果除以sizeof 其元素类型的结果,即可求出数组元素的个数: // sizeof(ia)/sizeof(*ia) returns the number of elements in ia int sz转载 2012-02-29 14:53:32 · 653 阅读 · 0 评论 -
cygwin and eclipse c++
Download eclipse-cpp-indigo-SR1-incubation-win32,startup and setup cygwin online.http://www.cygwin.com/ml/cygwin/2009-03/msg00046.html. 原来,本质问题是,cygwin1.7采用了Linux下的link方式。也就是让一个文件和另外一个文件关联。而DOS无法识转载 2012-03-02 15:59:21 · 516 阅读 · 0 评论 -
c++primer 3/7---构造函数
// recommended way to write constructors using a constructor initializer Sales_item::Sales_item(const string &book): isbn(book), units_sold(0), revenue(0.0) { }在构造函数初始化列表中没有显式提及的每个转载 2012-03-07 11:10:11 · 551 阅读 · 0 评论 -
全局变量,extern
在讨论全局变量之前我们先要明白几个基本的概念:1. 编译单元(模块): 在IDE开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误(LINK ERROR),因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用gcc,makefile等工具在linux或者嵌入式下做开发工作的话,那么你可能非常转载 2012-03-06 17:05:42 · 841 阅读 · 0 评论 -
解析“extern”
1、 声明外部变量 现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两个简单的C++源文件://A.cpp int i; void main() { }转载 2012-03-06 17:06:20 · 400 阅读 · 0 评论 -
c++primer 3/6---static
static 数据成员的类型可以是该成员所属的类类型。非 static 成员被限定声明为其自身类对象的指针或引用:class Bar { public: // ... private: static Bar mem1; // ok Bar *mem2; // ok Bar m转载 2012-03-06 15:16:34 · 653 阅读 · 0 评论 -
c++primer 3/7--类作用域,隐含的 this 指针
一般的数据或函数成员必须通过对象来访问。定义类型的成员,如 Screen::index,使用作用域操作符来访问。类使用作用域操作符(::)class Screen { public: typedef std::string::size_type index; index get_cursor() const; }; inli转载 2012-03-07 16:57:04 · 836 阅读 · 0 评论 -
超前引用
http://wenku.baidu.com/view/03d56bacdd3383c4bb4cd2bf.html转载 2012-03-13 10:53:54 · 489 阅读 · 0 评论 -
c++primer 3/12----复制构造函数
C++ 支持两种初始化形式):直接初始化和复制初始化。复制初始化使用 = 符号,而直接初始化将初始化式放在圆括号中。当形参或返回值为类类型时,由复制构造函数进行复制string make_plural(size_t, const string&, const string&);这个函数隐式使用 string 复制构造函数返回给定单词的复数形式。形参是 const 引用,转载 2012-03-12 16:02:05 · 619 阅读 · 0 评论 -
c++ 3/1---const 限定类的成员函数
class classname { public: int fun() const; .....} 注意:采用此种const 后置的形式是一种规定,亦为了不引起混淆。在此函数的声明中和定义中均要使用const,因为const已经成为类型信息的一部分。获得能力:可以操作常量对象。失去能力:不能修改类的数据成员,不能在函数中调用其他不是const的函数。转载 2012-03-01 15:56:59 · 479 阅读 · 0 评论 -
c++primer 3/1 ---函数
函数不能返回另一个函数或者内置数组类型,但可以返回指向函数的指针,或指向数组元素的指针的指针: // ok: pointer to first element of the array int *foo_bar() { /* ... */ }形参的初始化与变量的初始化一样:如果形参具有非引用类型,则复制实参的值,如果形参为引用类型(第 2.5 节),则它只是实参转载 2012-03-01 11:28:46 · 550 阅读 · 0 评论 -
c++pri 2/22--字面值常量
我们能将值 20 定义成下列三种形式中的任意一种: 20 // decimal 024 // octal 0x14 // hexadecimal可以将任何字符表示为以下形式的通用转义字符: \oooooo 表示三个八进制数字,这三个数字表示字符的数字值。字符’\0’通常表示“空字符(null character)”,转载 2012-02-22 14:07:51 · 755 阅读 · 0 评论 -
c++primer 2/22---变量
C++ 是一门静态类型语言,在编译时会作类型检查。对象是内存中具有类型的区域类型决定了分配给变量的存储空间的大小和可以在其上执行的操作。变量定义指定了变量的类型和标识符,也可以为对象提供初始值。定义时指定了初始值的对象被称为是已初始化的。C++ 支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中: int转载 2012-02-22 15:45:05 · 548 阅读 · 0 评论 -
c++primer 2/23---头文件,声明,定义
http://www.cnblogs.com/rocketfan/archive/2009/10/02/1577361.html编译单元当一个c或cpp文件在编译时,预处理器首先递归包含头文件,形成一个含有所有 必要信息的单个源文件,这个源文件就是一个编译单元。这个编译单元会被编译成为一个与cpp 文件名同名的目标文件 。连接程序把不同编译单元中产生的符号联系起来,构成一个可转载 2012-02-23 15:34:41 · 719 阅读 · 0 评论 -
c++primer 2/22---const 限定符,枚举
在全局作用域(第 2.3.6 节)里定义非const 变量时,它在整个程序中都可以访问。我们可以把一个非 const 变更定义在一个文件中,假设已经做了合适的声明,就可在另外的文件中使用这个变量: // file_1.cc int counter; // definition // file_2.cc extern int counter;转载 2012-02-22 16:26:58 · 510 阅读 · 0 评论 -
c++primer 2/23---引用
当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。引用必须用与该引用同类型的对象初始化:int &refVal2; // error: a reference must be initialized int &refVal3 = 10; //error: initializer must be an objectconst 引用是指转载 2012-02-23 11:27:15 · 511 阅读 · 0 评论 -
c++primer 2/24--- 数组
非 const 变量以及要到运行阶段才知道其值的 const 变量都不能用于定义数组的维数。int staff_size = 27; // nonconst const unsigned sz = get_size(); //const value not known until run timedouble salaries[staff_size]; // error: nonc转载 2012-02-24 10:29:38 · 1257 阅读 · 0 评论 -
c++primer 2/27----指针
int *pi = 0; // pi initialized to address no objectint *pi3; // ok, but dangerous, pi3 is uninitialized很多运行时错误都源于使用了未初始化的指针。把指针初始化为 NULL 等效于初始化为 0 值:该变量在 cstdlib 头文件中定义,其值为 0。 cstdlib #d转载 2012-02-27 14:49:41 · 803 阅读 · 0 评论 -
c++primer 2/28---string
当进行 string 对象和字符串字面值混合连接操作时,+ 操作符的左右操作数必须至少有一个是 string 类型的: string s1 = "hello"; // no punctuation string s2 = "world"; string s3 = s1 + ", "; // ok: adding a string and转载 2012-02-28 10:57:51 · 794 阅读 · 0 评论 -
c++primer 2/27---C 风格字符串
字符串字面值的类型就是 const char 类型的数组,C 风格字符串是以空字符 null 结束的字符数组:char ca3[] = "C++"; // null terminator added automatically const char *cp = "C++"; //null terminator added automatically我们使用指针的算术操作来遍历 C转载 2012-02-27 15:41:16 · 921 阅读 · 0 评论 -
c++primer 3/13---析构函数
// p points to default constructed object Sales_item *p = new Sales_item; { // new scope Sales_item item(*p); // copy constructor copies *p into item转载 2012-03-13 10:31:47 · 655 阅读 · 0 评论