C++
kkkkkkkkq
华中科技大学 模式识别与智能系统
展开
-
const
const (int) *p; //const修饰*p,*p是指针指向的对象,不可变(int) const *p; //const修饰*p,*p是指针指向的对象,不可变(int)*const p; //const修饰p,p不可变,p指向的对象可变const (int) *const p; //前一个const修饰*p,后一个const修饰p,指针p和p指向的对象都不可变原创 2016-10-21 20:01:57 · 210 阅读 · 0 评论 -
浅谈C++中指针和引用的区别
转载自:http://www.cnblogs.com/dolphin0520/archive/2011/04/03/2004869.html指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量转载 2017-08-28 17:20:47 · 252 阅读 · 0 评论 -
C++函数调用机制
局部变量占用的内存是在程序执行过程中“动态”地建立和释放的。这种“动态”是通过栈由系统自动管理进行的。当任何一个函数调用发生时,系统都要作以下工作:(1)建立栈空间;(2)保护现场:主调函数运行状态和返回地址入栈;(3)为被调函数中的局部变量分配空间,完成参数传递;(4)执行被调函数函数体;(5)释放被调函数中局部变量占用的栈空间;(6)回复现场:取主调函数运行状态及返回地转载 2017-08-28 20:04:40 · 1177 阅读 · 0 评论 -
全局变量和静态变量
如果定义一个全局变量,未被初始化,则变量被默认初始化,但局部变量未被初始化,则该值未定义。(内置类型和数组一样)定义全局静态变量:在全局变量前加个关键字static,该全局变量变为全局静态变量。全局静态变量有以下特点:(1) 在全局数据区内分配内存(2) 如果没有初始化,其默认值为0(3) 该变量在本文件内从定义开始到文件结束可见定义局部静态变量:在局部静态转载 2017-08-28 21:45:55 · 558 阅读 · 0 评论 -
int、int_32t、int_64t
转载自http://blog.sina.com.cn/s/blog_4b9eab320100sdex.html32位平台:char 1个字节8位short 2个字节int 4个字节long 4个字节long long 8个字节float 4个字节double 8个字节指针 4个字节转载 2017-09-10 11:36:43 · 6075 阅读 · 0 评论 -
指针作为函数的形参,给指针所在地址赋值问题
#include void test(int *a){ a[0]=0; a[1]=1; a[2]=2;}int main(){ int *a=new int; test(a); std::cout<<"a[0]:"<<a[0]<<" "<<"a[0]:"<<a[1]<<" "<<"a[0]:"<<a[2]<<" "<<std::endl原创 2017-09-29 10:21:03 · 1152 阅读 · 0 评论 -
new创建二维数据
方法一:int(*p)[10] = new int[5][10];方法二:int **p = new int* [5];for(int i=0;i <5;i++)p[i] = new int[10];原创 2017-06-24 21:08:01 · 192 阅读 · 0 评论 -
return、exit和abort的区别
转载自:http://blog.csdn.net/lurendetiankong/article/details/53217645exit():在调用时,会做大部分清理工作,但是决不会销毁局部对象,因为没有stack unwinding。会进行的清理工作包括:销毁所有static和global对象,清空所有缓冲区,关闭所有I/O通道。终止前会调用经由atexit()登录转载 2017-10-09 14:02:57 · 630 阅读 · 0 评论 -
程序出bug原因总结
1、如果string str("hello");cout 出错了,那是因为没有加上#include头文件2、如果项目文件夹debug中的应用程序运行结果没有或者和程序调试结果不一样,可能是没有在debug文件夹中加上程序中用到的相对路径的文件。原创 2017-06-16 16:09:17 · 916 阅读 · 0 评论 -
C++ delete报错原因
http://blog.csdn.net/tianxia_taiping/article/details/10928927转载 2017-10-09 21:26:00 · 649 阅读 · 0 评论 -
程序中计时
用clock达到毫秒级别的精度用gettimeofday达到微妙级别的精度原创 2017-10-28 14:11:33 · 253 阅读 · 0 评论 -
关于类
在C++中,构造函数不会自动继承,只是如果子类没有写构造函数,那么系统会这个类自动添加一个默认构造函数,是一个空函数体,所以什么也没有做,接着就会调用父类的构造函数。原创 2017-12-04 21:02:36 · 185 阅读 · 0 评论 -
头文件中常包含的内容
函数原型;使用#define或const定义的符号常量;结构声明;类声明;模板声明;内联函数;原创 2017-08-24 11:43:32 · 1082 阅读 · 0 评论 -
opencv头文件
opencv中包含的头文件有:#ifndef __OPENCV_ALL_HPP__#define __OPENCV_ALL_HPP__#include "opencv2/core/core_c.h"#include "opencv2/core/core.hpp"#include "opencv2/flann/miniflann.hpp"#include "ope原创 2017-08-24 11:41:13 · 346 阅读 · 0 评论 -
头文件string.h cstring string的区别
原文地址http://www.cnblogs.com/maowang1991/p/4181806.html1.#include //不可以定义string s;可以用到strcpy等函数#include //不可以定义string s;可以用到strcpy等函数using namespace std;#include //可以定义strin转载 2017-02-21 14:34:29 · 413 阅读 · 0 评论 -
C++primer plus第六章编程练习
6、#include "stdafx.h"#includeusing namespace std;const int ArSize = 40;struct information{ char name[ArSize]; double fund;};int main(){ cout << "please enter the number of donor:"; int原创 2017-03-04 21:29:29 · 523 阅读 · 0 评论 -
strncpy,strncpy_s和strcpy,strcpy_s
strncpychar * strncpy(char * dest, char * src, int n);功能:把src所指向的字符串中以src地址开始的前n个字节复制到dest所指的数组中,并返回dest要求:如果src的前n个字符不含NULL字符,则结果不会以NULL字符结束。如果nstrncpy_s加_s版本则是从VS2005开始推出的安全版本,而加_s原创 2017-03-18 21:45:52 · 1687 阅读 · 0 评论 -
C++ primer plus 第七章编程练习
4、#include "stdafx.h"#includeusing namespace std;long double probability(unsigned numbers, unsigned picks);int main(){ double total1, choice1, total2, choice2; cout << "Enter the total numb原创 2017-03-09 16:32:11 · 501 阅读 · 0 评论 -
C++ primer plus 第十章编程练习
1、/********************************************************************************************Author:Tang QingyunTime:2017/03/19From:C++ primer plus 第十章编程练习 第1题***********************************原创 2017-03-21 10:08:56 · 788 阅读 · 0 评论 -
C++ primer plus 第十二章编程练习
1、/********************************************************************************************Author:Tang QingyunTime:2017/04/03From:C++ primer plus 第十二章编程练习 第1题********************************原创 2017-04-05 11:18:07 · 534 阅读 · 0 评论 -
vector erase
vector erase 在有循环的情况下要进行K--例如:for (int k = 0; k < vec.size(); k++) { if (vec[k] < 100) { vec.erase(vec.begin() + k);//要删除满足if条件的vec[k] k--; }因为vec.erase(vec.begin() + k)操作后,第K个元素被原创 2016-10-31 20:23:39 · 702 阅读 · 0 评论 -
对取模后的余数的理解
取模和取余 通常情况下,取模运算(MOD)和取余运算(REM)被混为一谈,因为在大多数的编程语言里,都用" % " 符号来表示取模运算或者取余运算。所以有必要编写本文档,来为在此环节遇到问题的程序员理清思路,同时也提醒各位需要注意在不同编程语言环境下" % " 运算符的具体意义,因为在有负数存在的情况下,两者的结果是不一样的。 首先,我们需要区分两者的概念。 取转载 2017-05-16 09:47:03 · 10471 阅读 · 7 评论 -
C++中二维数组的两种动态内存分配方法
转载自http://blog.csdn.net/lavorange/article/details/42879605一、二维数据的内存空间动态分配方法一:void malloc2D_1(int **&a) { a = new int*[xDim]; for(int i=0;i<xDim;i++) a[i] = new i转载 2017-05-16 20:27:41 · 795 阅读 · 0 评论 -
顺序容器用法总结
vector:可变大小数组支持快速随机访问。在尾部之外的位置插入或删除元素可能很慢deque:双端队列支持快速随机访问。在头尾位置插入/删除速度很快forward_list:原创 2017-06-08 19:18:19 · 316 阅读 · 0 评论 -
如何使用vector的reserve和resize方法
转载自http://blog.csdn.net/linhao19841211_2/article/details/8154805reserve和resize是vector里两个很重要的方法,有效地使用这两个方法可以减少reallocate memory的次数,提高程序的性能,所以还是有必要去研究一下的,先来看一段简单的代码吧。stdafx.h[html] view pl转载 2017-08-04 21:42:00 · 322 阅读 · 0 评论 -
头文件的包含以及命名空间的引入尽量写在cpp文件中
转载自:http://blog.csdn.net/u012234115/article/details/40019945菜鸟编程需要知道的规范。1,头文件尽量包含在cpp文件里,而不是h文件里放在.cpp文件中是比较安全的,文件在多次递归包含后很容易出现一些定义和声明上的问题。放在cpp中可以减小头文件依赖,可以提高编译速度。所以,能放在cpp中的,就不要放在h中。转载 2017-08-24 11:24:13 · 615 阅读 · 0 评论 -
vector数据存在栈中还是堆中
推测:vector这个对象存在栈中,然后栈中有指向vector所存数据的地址,数据保存在堆中。原创 2018-05-16 13:03:02 · 14926 阅读 · 0 评论