C/C++编程
Blateyang
硕士毕业于华南理工大学,目前主要从事Web开发方面的工作,平时很少看留言,有事请私信
展开
-
C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef
条件编译,就是通过预编译指令设置编译条件,在不同的需要时编译不同的代码。详细内容和用法请参见下文:C语言的条件编译#if, #elif, #else, #endif、#ifdef, #ifndef转载 2016-09-14 10:45:06 · 663 阅读 · 0 评论 -
SourceInsight4.0自定义编译命令
Source Inside(SI)是一款面向项目开发的程序编辑器和代码浏览器,它提供了一个视图将分散在各个地方的代码汇合在一起形成一个虚拟的整体,供开发者方便地阅读和编辑。关于其使用介绍可以参看链接【工利其器】必会工具之(一)Source Insight篇SourceInsight4.0破解方法直接参考链接,亲测可用(2019/8/23)Source Insight 4.x完美激活破解安装图...原创 2019-08-24 21:51:00 · 4108 阅读 · 0 评论 -
多态及C++中的多态技术
多态性是面向对象编程中很重要的一个特征,简单理解就是“一个事物,多种形态”。谭浩强的《C++面向对象程序设计》中对多态性的一般性表述是:向不同对象发送同一消息(调用函数),不同对象会产生不同的行为(即不同的实现)C++中,将多态分为两类,通过指向基类的指针或引用调用虚函数对应的是运行时多态,通过调用重载函数或模板函数对应的是编译时多态。不过,关于重载是否属于多态有两种说法:说法1重载...原创 2019-05-10 09:05:38 · 545 阅读 · 0 评论 -
C++中虚函数的一点笔记
为什么C++中的静态成员函数不能声明为虚函数?静态成员函数为类所有,其被调用时没有this指针,而虚函数必须通过this指针才能调用,因此静态成员函数不能声明为虚函数更详细的解释可参考https://blog.csdn.net/shltsh/article/details/45999801和https://blog.csdn.net/wyc12306/article/details/6894...原创 2019-04-27 22:32:19 · 265 阅读 · 0 评论 -
cin.clear(),cin.sync(),cin.ignore()用法
cin.clear():用来将cin的所有状态值重设为有效值cin.sync():用来清除输入缓冲区cin.ignore(n, ch):忽略输入缓冲区中以’ch’为结束符的那部分内容或指定长度(n)的内容注:先要用cin.clear()重置状态值后,后面两个函数才能起作用且cin.ignore()比cin.sync()更灵活以下内容转载自http://blog.sina.com.cn/...转载 2019-04-21 21:50:39 · 935 阅读 · 0 评论 -
函数重载与函数模板的比较
函数重载与函数模板是两个有些相似的概念,它们使用的函数名都一样,但用处不同。下面对两者进行简要介绍并指出它们的区别和联系。函数重载(overloaded)即定义函数名相同而形参列表(形参个数或形参类别)不同的多个函数,这些函数被称为重载函数,重载函数通常执行的操作非常类似,如打印不同的输入对象。调用函数时编译器根据实参的类型确定调用哪个重载函数。void print(const char *...原创 2019-03-06 20:10:14 · 4917 阅读 · 0 评论 -
extern关键字的理解
1. 基本含义:声明外部对象声明对象是一个外部对象(变量或函数),标识其定义在别的文件中。会被多个文件使用的对象通常用extern声明于头文件中。用法eg.extern int var;2. extern “C”:链接指示声明对象是一个外部C语言的对象,告诉编译器在编译该对象时按照指定的C语言编译方式进行编译用法:单语句链接指示eg.extern "C" int strcmp(c...原创 2019-02-21 12:55:29 · 640 阅读 · 0 评论 -
C++经典面试题(最全,面中率最高)
C++经典面试题(最全,面中率最高)  转载自https://www.cnblogs.com/yjd_hycf_space/p/7495640.html 1.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符...转载 2018-08-13 13:17:52 · 632 阅读 · 0 评论 -
使用Dev C++编译C++工程时出现undefined reference 错误
我的工程包含三个文件,Vector模板类的声明文件Vector.h和定义文件Vector.cpp以及主函数main.cpp,具体代码如下:// Vector.h#ifndef VECTOR_H#define VECTOR_H #include <iostream> typedef int Rank;#define DEFAULT_CAPACITY 3using st...原创 2018-07-08 17:11:07 · 8955 阅读 · 2 评论 -
谭浩强《C++面向对象程序设计》知识点总结
1 C++初步知识1.1 C++的输入输出输入:采用标准输入流对象istream和提取运算符cin&gt;&gt;输出:采用标准输出流对象ostream和插入运算符cout&lt;&lt;1.2 函数的重载一名多用,要求重载函数的参数个数或类型与原来的不同1.3 函数模板给功能相似的函数建立一个统一的模板要求:函数的参数个数和原来的要相同格式:原创 2018-06-16 22:05:53 · 11333 阅读 · 6 评论 -
颜色矩原理及C++实现
介绍了颜色矩的原理及C++实现,在参考文献中还可以找到颜色矩的Matlab和Python实现。原创 2017-04-23 14:15:52 · 3623 阅读 · 0 评论 -
如何使用VS2013将C++派生类封装成DLL并动态调用
如果源程序中C++的基类和由该基类生成的多个派生类在同一头文件和cpp文件下,要想将派生类编译成DLL使用,需要分别将每个派生类单独编译成DLL,再建立一个测试工程动态调用生成的DLL。原创 2016-11-08 16:51:21 · 4294 阅读 · 0 评论 -
中缀表达式求值并转换逆波兰表达式
算术表达式的三种表示方式中缀表达式:运算符位于与其相关的操作数中间,如(1+2)*(3-4)前缀表达式(波兰式):运算符位于与其相关的操作数前面,如* + 1 2 - 3 4后缀表达式(逆波兰式):运算符位于与其相关的操作数后面,如1 2 + 3 4 - *表达式求值思路基本思路:栈+线性扫描(当前操作符比栈顶的操作符优先级低,则进行一次实际的运算)中缀表达式求值的C代码实现思路...原创 2019-09-08 22:55:09 · 1257 阅读 · 0 评论