字符串朴素匹配法相等情况int index(const char * str1, const char * str2, int pos){ int i = pos; int j = 0; while(i = strlen(str2)) // matched and retu...
分类:
其他好文 时间:
2014-07-14 09:00:51
阅读次数:
176
拷贝、赋值与销毁(1)
13.1.1拷贝构造函数
/**************************************
13.1.1拷贝构造函数
**************************************/
class Foo1
{
public:
Foo1(); //默认构造函数
Foo1(const Foo1&); ...
分类:
编程语言 时间:
2014-07-13 00:10:38
阅读次数:
379
接口继承和实现继承不同。在 public 继承下, derived classes 总是继承 base class 的接口
class Shape{
public:
virtual void draw() const = 0;
virtual void error(const std::string &msg);
int objectID() const;
//...
};
class Rectangle: public Shape{...};
class Ellipse: public Sha...
分类:
编程语言 时间:
2014-07-12 23:42:27
阅读次数:
251
经验:绝对不要重新而来的缺省参数值,因为缺省参数值都是静态绑定,而 virtual 函数 -- 你唯一应该覆写的东西 -- 却是动态绑定
示例:
class Shape{
public:
enum ShapeColor {Red, Green, Blue};
virtual void draw(ShapeColor color = Red) const = 0;
};
class Rectangle: public Shape{
public:
virtual void draw(ShapeColor...
分类:
编程语言 时间:
2014-07-12 21:22:15
阅读次数:
278
Just like normal variables, pointers can be declared constant. There are two different ways that pointers and const can be intermixed, and they are very easy to mix up.
To declare a const pointer, ...
分类:
其他好文 时间:
2014-07-12 21:20:23
阅读次数:
165
经验:"public继承"意味 is-a。适用于 base classes 身上的每一件事情一定也适用于 derived classes 身上,
因为每一个 derived classes 身上,因为每一个 derived class 对象也都是一个 base class 对象。
示例:
class Person {...};
class Student: public Person {...};
void eat(const Person &p); //任何人都会吃
void study(const ...
分类:
编程语言 时间:
2014-07-12 21:18:25
阅读次数:
230
经验:支持”编译依存性最小化“的一般构想是:相依于声明式,不要相依于定义式。
基于此构想的两个手段是 Handle classes 和 Interface classes.
示例:相依于定义式
#include
#include "date.h"
#include "address.h"
class Person{
public:
Person(const std::string &name, const Data &birthday, const Address &addr);
st...
分类:
编程语言 时间:
2014-07-12 19:39:46
阅读次数:
347
c++函数在编译之后会变成类似下面的样子:
_ZNK4Json5ValueixEPKc
在linux命令行使用c++filter:
root@SSDEV016:~ $ c++filt _ZNK4Json5ValueixEPKc
Json::Value::operator[](char const*) const
这样就得到函数的原始名称
如果没有安装c++filter...
分类:
编程语言 时间:
2014-07-12 19:09:48
阅读次数:
234
adaptiveThreshold函数可以二值化,也可以提取边缘:Python: cv2.adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C[, dst]) → dstC: void cvAdaptiveThreshold(const CvArr* src, CvArr* dst, double...
分类:
编程语言 时间:
2014-07-12 18:35:57
阅读次数:
307
在网络编程中,一个经常的操作是将本地的数据块转换成字符流并将其发送到远端,远端将这个字符串流恢复成数据库。假设有如下一个类CObject,编写两个函数,分别将CObject中的成员变量转换为一个字符流(convert2Stream()函数),并将字符流的数据重新恢复到一个CObject对象中(convert2Object()函数):
char* convert2Stream(const CObj...
分类:
其他好文 时间:
2014-07-12 16:30:38
阅读次数:
178