11 2017 档案
摘要://高斯滤波器 https://github.com/scutlzk#include #include #include using namespace cv; using namespace std; void Get_Gaussian_Kernel(double*& gaus_1, const int size, const double sigma_s) { gaus_1...
阅读全文
摘要:#include #include #include using namespace cv; using namespace std; void gaussianFilter2(vector corrupted, vector &smooth, int width, int height) { int templates[25] = { 1, 4, 7, 4, 1, 4, 16,...
阅读全文
摘要://直方图均衡化 https://github.com/scutlzk #include #include #include using namespace cv; using namespace std; void Histogram_Equalization(const char *srcfilename, Mat *&dst) { double gray[256]; Mat...
阅读全文
摘要:示例: 输出结果: 问题出现在&b1[0]是一个B*指针。f()期待的是一个A*指针,而我们传递给它的是一个A派生类对象指针(B*)。这显然是允许的。但是f()不仅仅把A*作为一个指针类使用,还将它作为数组来使用,通过下标访问其元素: 这段代码顺序访问内存地址&p[0]、&p[1]、&p[2]···
阅读全文
摘要:为什么find_from_addr()和find_subject()如此不同?比如,find_from_addr()返回bool值,而find_subject()返回string。原因在于我们想说明: find_from_addr()应该区分有地址行当内容为空(“”)和无地址行两种不同的情况。对于第
阅读全文
摘要:随机数既是一个实用工具,也是一个数学问题,它高度复杂,这与它在现实世界中的重要性是相匹配的。在此我们只讨论随机数哦最基本的内容,这些内容可用于简单的测试和仿真。在<random>中,标准库提供了复杂的方法来产生适应不同数学分布的随机数。这一随机数标准库基于下面两个基础概念: 发生器(engine,随
阅读全文
摘要:步骤: 其中A是一个n*n的系数方阵 向量x和b分别是未知数和常量向量: 这个系统可能有0个、1个或者无穷多个解,这取决于系数矩阵A和向量b。求解线性系统的方法有很多,这里使用一种经典的方法——高斯消去法(https://zh.wikipedia.org/wiki/高斯消去法)。首先,我们对A和b进
阅读全文
摘要:每种c++的实现都在<limits>、<climits>、<limits.h>和<float.h>中指明了内置类型的属性,因此程序员可以利用这些属性来检查数值限制、设置哨兵机制等等。它们对于开发底层程序是非常重要的。如果你觉得需要这些属性值,表明你的工作很可能比较靠近硬件。但这些属性还有其他用途,例
阅读全文
摘要:new的问题究竟在哪里呢?实际上问题出在new和delete的结合使用上。考察下面程序中内存分配和释放过程: 在每个循环步中,我们创建了两个Small,在此期间,我们还分配了一个Big,然后又释放了它。考察这段代码,每执行一个循环步,我们可能期望“消耗” 2*sizeof(Small)个字节的内存(
阅读全文
摘要:有符号数与无符号数的程序设计原则: 当需要表示数值时,使用有符号数(如 int)。 当需要表示位集合时,使用无符号数(如unsigned int)。 有符号数和无符号数混合运算有可能会带来灾难性的后果。例如: 易实现版本: 循环变量i可能会溢出,即,v.size()有可能比最大的有符号数int值还要
阅读全文
摘要:标准库模板类bitset是在<bitset>中定义的,它用于描述和处理二进制位集合。每个bitset的大小是固定的,在创建时指定: 默认情况下,bitset被初始化为全0,但通常我们都会给它一个初始值,可以是一个无符号的整数或者”0“和”1“组成的字符串。例如: 这两段代码中,lots被初始化为全0
阅读全文
摘要:编码原则: 一般原则 预处理原则 命名和布局原则 类原则 函数和表达式原则 硬实时原则 关键系统原则 (硬实时原则、关键系统原则仅用于硬实时和关键系统程序设计) (严格原则都用一个大写字母R及其编号标识,而推荐原则都用小写字母r及其编号标识,对于前者程序员必须严格遵守,而后者则偶尔可以不遵守) 1、
阅读全文
摘要:最简单的读取字符串的方式是使用gets(),例如: 但gets()和scanf()是有害的,曾经有大约1/4的成功黑客攻击是由于gets()和它的近亲scanf("%s")的漏洞造成的。到现在为止,这仍然是一个主要的安全问题。以上面简单的程序为例,用户可能输入多于11个字符,这时 get()几乎肯定
阅读全文
摘要:使用宏的时候一定要小心:在c中没有真正有效的方法来避免使用宏,但宏带有严重的副作用,因为宏不遵守通常的c(或c++)作用域和类型规则——它只是一种文本替换。 宏的使用注意事项: 所以宏名全部大写。 不是宏的结构不要使用全部大写的名字。 不要为宏取短的或“有趣”的名字,如max或min。 期望其他人也
阅读全文
摘要:游戏软件的开发最能体现面向对象设计方法的优势。游戏中的人物、道具、建筑物、场景等都是很直观的对象,游戏运行的过程就是这些对象相互作用的过程。每个对象都有自己的属性和方法,不同对象也可能有共同的属性和方法,特别适合使用继承、多态等面向对象的机制。下面就以“魔法门”游戏为例来说明多态在增加程序可扩展性方
阅读全文
摘要:在c++中,类和类之间有两种基本关系:复合关系和继承关系。 复合关系也称为“has a”关系或“有”的关系,表现为封闭类,即一个类以另一个类的对象作为成员变量。 继承关系也称为“is a”关系或“是”关系,即派生类对象也是一个基类对象。 在设计两个有关系的类时要注意,并非两个类有共同点,就可以让它们
阅读全文
摘要:1、当用一个对象去初始化同类的另一个对象时,会引发复制构造函数被调用。例如,下面的两条语句都会引发复制构造函数的调用,用以初始化c2. 这两条语句是等价的。注意第二条是初始化语句,不是赋值语句。赋值语句的等号左边是一个早已有定义的变量,赋值语句不会引发复制构造函数的调用。例如: "c1=c2;"这条
阅读全文
浙公网安备 33010602011771号