随笔分类 - c++
摘要:这是剑指offer数组中重复的数字那个题,直接使用的swap函数 字符串的全排列也用到了swap
阅读全文
摘要:1.&在此不是求地址运算,而是起标识作用 2.传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。 3.使用引用传递函数的参数,在内存中并没有产生实参的副本,它
阅读全文
摘要:这是剑指offer表示数值的字符串 为什么后面那两个函数要用指针的指针?而不是指针就行了? 如果只传一个*,函数结束后,string的指针的值并不会发生变化,依旧是传进去之前那个值。因为传*,相当于copy一个值给他,而并不会改变原来的值,只有传给他地址,才能真正改变原来的值。这个和平时用的int、
阅读全文
摘要:vector<vector<int> >vv(3, vector<int>(4));//这里,两个“>”间的空格是不可少的 将构造一个二维向量vv,它含有三个元素,每个元素含有4个int型元素的向量。 http://blog.csdn.net/yuanjilai/article/details/73
阅读全文
摘要:先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。理解了这个,就好解释this了,my里的this 就是指向m
阅读全文
摘要:单冒号: (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量cons
阅读全文
摘要:一、extern关键字的作用 文件中定义的全局变量的可见性扩展到整个程序是在链接完成之后,而在编译阶段,他们的可见性仍局限于各自的文件。 编译器的目光不够长远,编译器没有能够意识到,某个变量符号虽然不是本文件定义的,但是它可能是在其它的文件中定义的。 虽然编译器不够远见,但是我们可以给它提示,帮助它
阅读全文
摘要:首先,我们可以将所有东西都放在一个.cpp文件内,编译器会将这个.cpp编译成.obj,即编译单元。一个程序可以由一个编译单元组成,也可以由多个编译单元组成。一个.cpp对应一个.obj,然后将所有的.obj链接起来(通过一个叫链接器的程序),组成一个.exe,即程序。如果一个.cpp要用到另一个.
阅读全文
摘要:#include <>与#include " "区别 如果头文件名在<>中,就会被认为是标准头文件。编译器会在预定义的位置查找该头文件,如果是""就认为它是非系统头文件,非系统文件查找通常开始于源文件所在路径。 这是caffe blob.cpp的引用#include "caffe/blob.hpp"
阅读全文
摘要:双引号是字符串,单引号是字符 “\n”与'\n': 相同点: 都能起到换行作用 不同点: "\n" <=> {'\n', '\0'} '\n' <=> '\n' 我在vim里面写"./data_depth/train_images"就可以正确找到文件目录 ’./data_depth/train_im
阅读全文
摘要:1.void func(int *p); 2.void func(int p[]); 3.void func(int p[10]); 第二种这种不给数组大小的也可以
阅读全文
摘要:&既可以进行bool类型运算,也可以进行位与运算 &&只能进行bool类型运算
阅读全文
摘要:整个数组都初始化为0 整个vector初始化为1 如果你定义的vector是这样定义的: 去初始化,千万不要用: 这样会数组越界,因为你并没有申请vector大小
阅读全文
摘要:随着C++11标准的出现,vector出现了新的初始化和遍历用法,但是vs2010和较高版本并没有能完全支持C++11标准,所以我就将它的所有的用法归纳了一下。 vector的初始化 vector基本初始化如下: vector< T >v1 v1是一个空的vector vector< T >v2(v
阅读全文
摘要:一般来说C++中参数传递有三种方式:值传递、指针传递、引用传递 1.值传递——传值 值传递是最常见的一种参数传递的方式,但是对初学者来说也最容易出错。如下例: #include<iostream.h> void fun(int a,int b) { int temp; temp=a; a=b; b=
阅读全文