C++
文章平均质量分 86
optcaelum
这个作者很懒,什么都没留下…
展开
-
Boost之日期时间处理(date_time库)
概述使用date_time库需要在编译时加上"-lboost_date_time",而且需要包含以下头文件:处理日期的组件:#include 处理时间的组件:#include date类date是date_time库处理日期的核心类,使用一个32位的整数作为内部存储,以天为单位表示时间点概念。date也全面支持比较操作和输入输入出,我们可以完全把它当成一个像int、st原创 2016-06-24 22:04:20 · 11044 阅读 · 0 评论 -
C++11之智能指针
概述C++98提供了了智能指针auto_ptr,但C++11已将其摒弃,并提供了unique_ptr和shared_ptr。这三种智能指针模板都定义了类似指针的对象,可以将new获得的地址赋给这种对象。当智能指针过期时,这些内存将自动被释放。其基本用法如下:#include #include #include class Report{private: std::str原创 2016-06-25 16:07:14 · 362 阅读 · 0 评论 -
Boost之时间处理(timer库)
一. timerimer是一个小型的计时器,提供毫秒级别的计时精度和操作函数#include #include using namespace std;using namespace boost;int main(){ timer t; cout << "max timespan:" << t.elapsed_max() /3600 << "h" <<en原创 2016-06-20 19:27:57 · 666 阅读 · 0 评论 -
Boost之智能指针
boost.smart_ptr库提供了六种智能指针,包括scoped_ptr、scoped_array、shared_ptr、shared_array、weak_ptr和intrusive_ptr。为了使用smart_ptr组件,需要包含头文件。Scoped_ptrscoped_ptr是一个很类似auto_ptr/unique_ptr的智能指针,但scoped_ptr的所有权更加严格,不能原创 2016-06-29 23:26:40 · 519 阅读 · 0 评论 -
C++虚函数
下面是一段关于虚函数的程序:#include using namespace std;class Base {public: void funA() { cout << "in Base::funA\n"; } void funB() { cout << "in Base::funB\n"; } v原创 2016-07-01 20:24:28 · 306 阅读 · 0 评论 -
C++私有继承
概述除了在类中直接声明成员变量外,C++还有另一种实现has-a关系的途径——私有继承。使用私有继承,基类的公有成员和保护成员都将成为派生类的私有成员。这意味着基类方法将不会成为派生类对象公有接口的一部分,但可以在派生类的成员函数中使用它们。下面是私有继承的一个示例:#include #include #include #include using namespace std;原创 2016-07-15 00:25:02 · 492 阅读 · 0 评论 -
Boost之字符串
lexical_constlexical_const库进行“字面值”的转换,类似C中的atoi函数,可以进行字符串与整数、浮点数之间的字面转换,使用时需要包含头文件。#include #include #include using namespace std;using namespace boost;int main(){ /* 基本用法 */ int x原创 2016-07-04 16:35:47 · 537 阅读 · 0 评论 -
Effective C++:绝不重新定义继承而来的缺省参数值
考虑下面这段程序:#include using namespace std;class Shape {public: enum ShapeColor { Red, Green, Blue }; virtual void draw(ShapeColor color = Red) const = 0;};class Rectangle : public Shape {原创 2016-07-16 16:20:51 · 539 阅读 · 0 评论