1.为函数的参数赋予默认值,如果给函数的某个参数设置了默认值,那么参数列表中该参数后面的所有参数都必须有默认值,调用函数的时候如果希望参数使用自己的默认值,只要不传入那个参数就可以了;void test5(int a,int b = 5,int c = 10,int d =15){ cout<<a+b+c+d<<endl;}int main(int argc,char *argv[]){ test5(5); test5(5,100);} 2.内联函数,在函数的返回类型前面加上inline就可以将这个函数声明为内联函数,声明为...
CString strDayofWeek = _T(""); 的意思 1.sComment是自定义的CString类型变量,代表什么意思自己说了算2._T是一个宏,作用是让你的程序支持Unicode编码。如果你的程序使用的是“多字节字符集”的话,他不起任何作用3._T("")表示把CString类型变量初始化为空。------------------------------------------------------------------------------原文:http://www.cnblogs.com/fclbky/p/4247909.html
数组形参数组形参void test(const int arr[]); //arr中的值不能被改变void test(const int *arr); //arr中的值不能被改变,包括arr[1]void test(int (&arr)[10]); //引用数组,10必须声明int &arr[10]; //引用数组,不能通过编译,下标操作符具有更高的优先级void test(int (*arr)[10]); //多维数组,int *arr[10],指针数组void test(int arr[][10]); //多维数组原文:http://www.cnblogs.com/summerwinter/p/3634954.html
vector的size和capacityreserve 与 resize 是区别的:reserve 用来给vector预分配存储区大小,即capacity的值
,没有给这段内存进行初始化。reserve
的参数是推荐预分配内存的大小,实际分配的可能等于或大于这个值。这样做的好处就是消除当往vector插入数据时,size 超过原来的默认分配的capacity值时
所带来的 内存重分配开销。resize 不仅会改变vector的capacity大小,而且会重置size值,在C++ STL中,很多部分(目前包括set,...
1、为某一特定的问题而设计的指令序列称为:程序2、‘32位微型计算机’中的32位指的是:机器的字长3、存储设备中,存取速度最快的是:Cache4、指令的操作码表示的是:作何操作5、一条指令由哪两部分组成:操作码和地址码6、任何程序必须被加载到哪里中才能被CPU中执行:内存7、RAM:随机存储器:断电后会丢失存储的内容8、ROM:只读存储器:只能读取事先所存数据的固态半导体存储器,其中数据是由计算机制造厂预先写入的9、微型计算...
数据结构(data stucture)的定义:数据结构由数据元素的集合和该集合中数据元素之间的关系组成。即{D,R}。线性结构,即线性表(linearlist). ---数组(array),文件,栈(stack),队列(queue),优先级队列非线性结构 ---集合,图C++类默认访问级别是privatestruct默认访问级别是 public 这可以说是他们的惟一区别。union默认访问级别也是 public流是个简单的字符序列cout<<endl; 输出一个换行符,并清空流。C++的输入输出:void main...
一.相关知识点 那些通常放在头文件里的名字,像常量、内联函数(inline function),在缺省情况下都是内部连接的(当然常量只有在C + +中缺省情况下是内部连接的,在 C中它缺省为外部连接)。注意连接只引用那些在连接/装载期间有地址的成员,因此类声明和局部变量并没有连接。名字空间的产生与一个类的产生非常相似:
namespace MyLib{
//Declarations
}
这就产生了一个新的名字空间,其中包含了各种声明.namespace与class、...
Static关键字1.1 C语言中的static的最主要功能是隐藏,其次因为static变量存放在静态存储区,所以它具备持久性和默认值01.2 C++中1)静态类数据成员无论建立多少个类的对象,都只有一个静态数据的拷贝。静态数据的初始化是在类外进行的。2)静态类函数它属于整个类,一般在静态成员函数中访问的基本上是静态数据成员或全局变量。 2. 友元2.1 友元函数在类中说明的某个函数不是该类的成员函数,可以访问该类的私有函数#include...
我们知道,C++中引入了New 这个内置符号,很大方便了指针的使用,程序员不必关注与这块堆上新分配的内存是如何来的,如何初始化的,然后如何转换为我们想要的类型指针的。现在,我们重点来分析下这个NEW内置符号背后的步骤和所调用到的函数。这里面涉及到new operator, operator new, placement new.转载请注明出处: http://blog.csdn.net/elfprincexu1. New Operator (__type__ * a = new a();)C 语言当中,我们在新申请一块内...
1:在 C++ 中,模板是泛型编程的基础。模板是创建类或函数的蓝图或公式。 2:模板定义以关键字 template 开始,后接模板形参表,模板形参表是用尖括号括住的一个或多个模板形参的列表,形参之间以逗号分隔,模板形参表不能为空:template <typename T>
int compare(const T &v1, const T &v2)
{if (v1 < v2) return -1;if (v2 < v1) return 1;return 0;
} 3:模板形参表示可以在类或函数的定义中使用的类型或值。模板形参可以是表示...
每周100个C++知识点(备忘录)(三)001-019 函数模板020-028 单独编译029-044 存储持续性、作用域和链接性045-050 静态持续性、外部链接性051-053 静态持续性、内部链接性054-054 静态持续性、无链接性055-063 说明符和限定符064-068 函数和链接性069-069 语言链接性070-080 存储方案和动态分配081-100 名称空间
001-019 函数模板
1.函数模板是通用的函数描述,是一种使用泛型来定义的函数。定义的方式为:①(C++98以后)templat...
继承的概念
继承是c++中一个重要的概念。继承是指,我们可以使用一个类来定义另一个类,在创建这个类时,我们就不需要重新编写数据成员与成员函数,这可以大大方便我们编写代码和维护代码的效率。
当我们使用一个类来定义另一个类时,前者就称为基类,后者就称为派生类。
类派生的方式
为了派生一个类,我们可以指定一个类继承列表,列表可以有一个类,或者多个类,类继承的形式如下:
class Rectangle: public Shape //其中Rera...
数据库的索引类型
聚集索引和非聚集索引的区别(叶节点存储内容)
唯一性索引和主码索引的区别
索引的优缺点,什么时候使用索引,什么时候不能使用索引(重点)
索引最左前缀问题
数据库中事务的ACID
数据库隔离性设置不同会出现的问题(脏读、不可重复读、丢失修改、幻读)
Mysql有四个隔离级别:未提交读,提交读,可重复读,可串行化。
Mysql的优化(高频,索引优化,性能优化)
数据库引擎介绍,innodb和myisam的特点与区别
数...
python和c++那点事儿
这个博客我觉得写得挺好,从简单例子给我们展示了一般会用到的几种扩展方式,如torch.util.cpp_extension,.pyx,distutils.extension,还有pybind11,直接调用动态库等。 点这里看
学习一下的缘由
其实,我是在复现一篇基于faster rcnn的代码时遇到的问题,由于是基于torch0.3,所以使用了torch,util.cffi来扩展c++,但是这个却在后面的torch版本中被淘汰了,所以我就索性把这个拓展方式改成高版本的torch支持...
并查集
写在开头:配合例题食用效果极佳!
并查集是通过数组p和find函数,实现集合之间的合并,元素查询的数据结构
两个操作: ?1.合并两个集合 ?2.查找某个元素的祖宗节点
两个优化: ?1.路径压缩 -> 时间复杂度降到o(logn) ?2.按秩合并 -> 时间复杂度降到o(logn) 若两者一起使用 -> 线性
两个维护: ?1.记录每个集合的大小(绑定到跟节点) ?2.记录每个点到跟节点的距离(绑定到每个元素) ???由此可延伸出维护点之间的距离(例023)和...