make_pair

关于make_pair(1, “Test”)为什么有错: 1 先声明一些东西: template <typename T1, typename T2> struct pair { T1 first; T2 second; // … }; template <typename T1, typename T2> pair<T1, T2> make_pair(T1 const&, T2 const&); 2 当调用make_pair(1, “Test”)时 2.1 类型推导 #1 T1 = int; #2 由于”Test”的类型是char const[5], 而且函数参数T2 const&是引用, 所以T2 = char const[5] 2.2 实例化函数 pair<int, char const[5]> make_pair<>(int const&, … Read more

内存分配方式

内存分配方式有三种: (1) 从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static 变量。 (2) 在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。(不要用return 语句返回指向“栈内存”的指针,因为该内存在函数结束时自动消亡) char *GetString(void) { char p[] = “hello world”; return p; // 编译器将提出警告 } void Test4(void) { char *str = NULL; str = GetString(); // str 的内容是垃圾 cout<< str << endl; } 下面这种方式可以避免这种情况: char *GetString2(void) { char *p = “hello world”; return p; } void Test5(void) { char *str … Read more

引用与指针的比较

引用和指针的区别在于下面几点: 1. 创建引用时必须初始化,而且不能初始化为null;  而指针可以不初始化,也可以初始化为null int &a; //error, references must be initialized int *p; //right int &a = NULL; //error, can’t init as NULL int *p = NULL; //right 2. 引用初始化后,就不再改变; 而指针随时可以改变所指的对象。 int a = 1; int b = 2; int &r = a; //r成为a的引用,即别名,r恒为a 的引用,不可改变 r = b;//此时不要以为r变成了b的引用,而是把b的值赋给了a, 此是a, r 都为b的值2 r = 3;//a, r的值都变成了3,b的值不变,仍为2 指针却是可以随时改变所指的对象 int a … Read more

网站收录提交地址大全

提交网站可以让搜索引擎更快地收录你的站点,,以下是相关搜索引擎的提交地址 Google网站提交网址 http://www.google.com/addurl/?continue=/addurl 百度网站提交网址 http://www.baidu.com/search/url_submit.html 提交网站XML文件 http://news.baidu.com/newsop.html#ks5 YaHoo网站提交网址 http://search.help.cn.yahoo.com/h4_4.html MSN网站提交网址 http://search.msn.com.cn/docs/submit.aspx 搜狗网站提交网址 http://www.sogou.com/docs/help/webmasters.htm Tom网站提交网址 http://search.tom.com/tools/weblog/log.php 有道网站提交网址 http://tellbot.yodao.com/report

sizeof

c语言里的sizeof 是一个计算数据存储空间大小的单目运算符,它返回数据所占的字节个数, 我们可以先来看看MSND里的定义: sizeof Operator sizeof expression The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t. The expression is either an identifier or a type-cast expression (a type specifier enclosed in parentheses). When applied to a structure … Read more

linux find命令

find是linux中常用的文件和目录的查询命令,掌握它有利于提高工作和学习的效率. find命令常用格式为 find pathname -options [-exec -ok …] 1. pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录,用~来表示当前用户根目录,或详细路径如:/var/www/, 表示在/var/www/下查找。 2. -options 用来过滤的一些选项,如用 -name可以按名字来查找, -user可以按照文件属主来查找文件, -group按照文件所属的组来查找文件。例如find . -name “abc*” 可以用来查找当前目录下所有以abc开头的文件, 3. -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ {} \;,注意{}和\;之间的空格。例如:find . -type f -exec ls -l {} \; 可把当前目录所有文件用ls命令列出来,显示的结果形如:                   [gene@localhost commandTest]$ find . -type f -exec ls -l {} \; -rwxrwxrwx 1 root gene 14 Mar 5 21:22 ./abc.c -rw-rw-r– 1 gene gene 21 Mar 5 21:23 … Read more