- 博客(13)
- 资源 (9)
- 收藏
- 关注
原创 c++笔记 关于标准库中容器内的元素
1.容器元素的条件 STL容器元素必须满足以下三个基本要求:1)必须可透过copy构造函数进行复制。 副本与原本必须相等,亦即所有相等测试的结果,原本与副本行为一致。所有容器都会在内部生成一个元素副本,并返回该暂时性副本,因此copy构造函数会被频繁地调用。所以copy构造函数应该尽可能的优化。2)必须可以透过assignment操作符完成赋值动作。
2012-04-18 23:53:31 967
原创 c++笔记 用组合代替继承
设计原则:多用组合,少用继承。考虑下面的情况:class Timer { virtual void onTick(); //定时器每滴答一次,此函数被调用一次。 }class Widget: public Timer {public: virtual void onTick();} 子类Widget需要重新实现onTick函数,怎么才能用组合实现呢?可以用下面的方法解决
2012-04-13 21:52:20 2421
原创 c++笔记 降低头文件间的编译依存关系
1.编译依存关系 某些时候只修改了某个类的private,结果却有一大堆文件需要编译。问题出在c++并没有把“将接口从实现中分离”这事做好。Class的定义式不只详细叙述了class接口,还包括十足的实现细目。例如:class Perpson {public: std::string name() const; std::string birthData() con
2012-04-12 22:04:13 1611 1
原创 c++笔记 遮掩继承
看一个例子:class Base {public: virtual void mf1() = 0; virtual void mf1(int){} virtual void mf2(){} void mf3(){} void mf3(double){}};class Derived: public Base {public: virtual void mf1(){}
2012-04-12 20:06:48 979
转载 Windows完成端口与Linux epoll技术简介
转自:http://www.cnblogs.com/liuweijian/archive/2009/12/27/1633657.htmlWINDOWS完成端口编程1、基本概念2、WINDOWS完成端口的特点3、完成端口(Completion Ports )相关数据结构和创建4、完成端口线程的工作原理5、Windows完成端口的实例代码Linux的EPoll模型
2012-04-10 11:44:57 1245
原创 c++笔记 构造/析构/赋值运算
1.copy构造函数与copy assignment操作符copy 构造函数被用来“以同型对象初始化自我对象”,copy assignment操作符被用来“从另一个同型对象中拷贝其值到自我对象”。class Widget { Widget(); //default构造函数 Widget(const Widget& rhs); //copy构造函数 Widget&
2012-04-10 00:22:39 781
原创 c++笔记 const关键字的使用
1.关于const指针 如果关键字const出现在星号左边,表示被指物为常量;如果出现在星号右边,表示指针自身是常量;如果出现在星号两边,表示被指物和指针两都都是常量。 注意被指物是常量时,以下两种写法意义相同: const int *p; int const *p;2.const成员函数 const成员函数不能修改类的数据成员,也就是
2012-04-08 22:33:13 890
转载 boost.bind用法
转自http://cunsh.ycool.com/post.1946109.html第9章 bind - boost头文件: boost/bind.hppbind 是一组重载的函数模板.用来向一个函数(或函数对象)绑定某些参数. bind的返回值是一个函数对象.它的源文件太长了. 看不下去. 这里只记下它的用法:9.1 对于普通函数假如有函数
2012-04-07 11:06:04 810
转载 C++11中值得关注的几大变化
赖勇浩(http://laiyonghao.com)声明:本文源自 Danny Kalev 在 2011 年 6 月 21 日发表的《The Biggest Changes in C++11(and Why You Should Care)》一文,几乎所有内容都搬了过来,但不是全文照译,有困惑之处,请参详原文(http://www.softwarequalityconnection.com/2
2012-04-06 23:02:52 865
转载 使用Boost.Asio编写通信程序
使用Boost.Asio编写通信程序转自http://cpp.ezbty.org/content/science_doc/%E4%BD%BF%E7%94%A8boostasio%E7%BC%96%E5%86%99%E9%80%9A%E4%BF%A1%E7%A8%8B%E5%BA%8F摘要:本文通过形像而活泼的语言简单地介绍了Boost::asio库的使用,作
2012-04-06 17:26:22 2883
原创 boost 1.49编译及使用
1.下载下载最新的boost版本,连接不上sf所以找了另外一个地址,http://miranda-dev.googlecode.com/files/boost_1_49_0.7zboostpro提供编译好的二进制版本,http://www.boostpro.com/download/,不过版本较旧2.关于编译大部分的boost库是无需编译的,仅仅只需要包含头文件即可需要
2012-04-06 14:43:38 4529
原创 c++笔记 显式类型转换static_cast、dynamic_cast、const_cast、reinterpret_cast
旧式强制类型转换,用圆括号将类型括起来实现:int *ip;char *pc = (char*) ip;效果与使用reinterpret_cast符号相同,但这种强制类型转换的可视性比较差,难以跟踪错误的转换。标准c++为了加强类型转换的可视,引入命名的强制转换操作符。1.dynamic_castdynamic_cast支持运行时识别指针或引用的指向的对象。可以将基
2012-04-05 18:13:54 1091
原创 关于运行jar包时的一个错误
花了几天时间学习java,今天制作了一个jar包,遇到一个奇怪的问题,打好的jar包使用命令java -jar test.jar可以正确运行,但是双击或是在cmd中运行,提示下面的错误:C:\Users\Administrator>D:\work\temp\classes\test.jarException in thread "main" java.lang.NoClassDef
2012-04-04 23:43:46 6051
live555_ex
2012-05-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人