上一页 1 2 3 4 5 6 7 8 ··· 25 下一页

2020年2月12日

资源管理

摘要: 所谓资源就是,一旦用了它,将来必须还给系统。C++程序中最常使用的资源就好似动态分配内存(如果你new了,却忘了delete,会导致内存泄露),但内存只是你必须管理的众多资源之一。其它常见的有文件描述符(file descriptors)、互斥器(mutex)、图形界面中的字形和画刷。数据库连接以及 阅读全文

posted @ 2020-02-12 20:15 tianzeng 阅读(248) 评论(0) 推荐(0) 编辑

构造/析构/赋值运算

摘要: 条款05:了解C++默默编写并调用哪些函数 如果你没有声明任何构造函数,编译器也会成为你声明一个默认构造函数,默认构造函数和析构函数主要给编译器一个地方用来放置“藏身幕后”的代码,像是调用base classes和non-static成员变量的构造函数和析构函数。所有这些函数都是public且inl 阅读全文

posted @ 2020-02-12 16:44 tianzeng 阅读(357) 评论(0) 推荐(0) 编辑

2020年2月11日

让自己习惯C++

摘要: 所谓声明式是告诉编译器某个东西的名称和类型,但是略去细节。 每个函数的声明式揭示其签名式,也就是参数和返回类型,一个函数的签名等同于该函数的类型。 定义式的任务是提供声明式所遗漏的一些细节,对对象而言,定义式是编译器为此对象拨发内存地点,对function或function template而言,定 阅读全文

posted @ 2020-02-11 21:08 tianzeng 阅读(239) 评论(0) 推荐(0) 编辑

2020年1月10日

站在对象模型的尖端

摘要: 一、Template template的三个主要的讨论方向 template的声明,也就是说当你声明一个template class、template class member function等时,会发生什么事情。 如何”实例化“class object、inline nonmember以及mem 阅读全文

posted @ 2020-01-10 19:43 tianzeng 阅读(215) 评论(0) 推荐(0) 编辑

2020年1月8日

执行期语意学

摘要: 一个简单的例子 class Y { public: bool operator==(const Y&) const; }; class X { public: operator Y() const; X getValue(); }; X xx; Y yy; if(yy==xx.getValue()) 阅读全文

posted @ 2020-01-08 15:25 tianzeng 阅读(241) 评论(0) 推荐(0) 编辑

2020年1月7日

构造、析构、拷贝语意学

摘要: 对于abstract base class(抽象基类),class中的data member应该被初始化,并且只在constructor中或者在其他member functions中指定初值。 c++不支持“临时性定义”,因为class构造函数的隐式应用原因。global对象在c++中被视为完全定义 阅读全文

posted @ 2020-01-07 16:18 tianzeng 阅读(414) 评论(3) 推荐(1) 编辑

2020年1月5日

function语意学

摘要: static member function不能:1.直接存取nonstatic数据;2.它不能被声明为const 一、Member的各种调用方式 1.1Nonstatic member function(非静态成员函数)的调用方式 编译器会将member 函数实例转换为对等的”nonmember函 阅读全文

posted @ 2020-01-05 19:48 tianzeng 阅读(391) 评论(0) 推荐(0) 编辑

2019年12月27日

Data语意学

摘要: 先看一段代码 class X {}; class Y : public virtual X {}; class Z : public virtual X {}; class A : public Y, public Z {}; // sizeof(X)的结果为1 // sizeof(Y)的结果为8 阅读全文

posted @ 2019-12-27 21:32 tianzeng 阅读(288) 评论(0) 推荐(0) 编辑

2019年12月25日

构造函数语意学

摘要: 对于class X,如果没有任何user-declared constructor, 那么会有一个default constructor被隐式(implicit)声明出来,但是这个default construct是无用的。关键词explicit被导入,就是给我们提供一种方法,他们能够制止“单一参数 阅读全文

posted @ 2019-12-25 21:22 tianzeng 阅读(380) 评论(0) 推荐(0) 编辑

2019年12月22日

关于对象

摘要: c语言中,“数据”和“处理数据的操作(函数)” 是分开声明的,将这种程序方法称为程序性(procedural),比如声明一个struct Point3d: struct Point3d { float x; float y; folat z; }; 而操作该数据数据的函数例如打印函数,只能另外定义成 阅读全文

posted @ 2019-12-22 16:25 tianzeng 阅读(314) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 25 下一页

导航