C/C++
文章平均质量分 69
ycwasdfasdf
这个作者很懒,什么都没留下…
展开
-
浅析C++中引用与指针的区别
指针和引用在C++中很常用,但是对于它们之间的区别很多初学者都不是太熟悉,下面来谈谈他们2者之间的区别和用法。1.指针和引用的定义和性质区别:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int a=1;int *p=&a;int a=1;int &b=a;转载 2016-05-10 15:18:53 · 232 阅读 · 0 评论 -
new和malloc的区别&delete和free的区别
1. malloc()函数1.1 malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void *malloc(unsigned int num_bytes); 说明:分配长度为num_bytes字节的内存块。如果分配成功则返回指向被分配内存的指针,分配失败返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。1.2 vo转载 2016-05-11 22:37:20 · 308 阅读 · 0 评论 -
C/C++中typedef的使用
第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针转载 2016-05-12 11:28:47 · 304 阅读 · 0 评论 -
C/C++函数指针
1原创 2016-05-12 14:36:23 · 310 阅读 · 0 评论 -
MFC中error LNK2019: 无法解析的外部符号
用VS2010打开VC6的MFC时,出现:error LNK2019: 无法解析的外部符号 __imp___vsnprintf,该符号在函数 _StringVPrintfWorkerA@20 中被引用经过查找两种方法亲测均可;闲记录,以方便遇到同样问题的网友解决办法:环境:win7,vs2010;方法一,下载:libodbccp32.lib,复制原创 2016-06-01 19:38:01 · 3369 阅读 · 1 评论 -
CUDA中的直方图统计
本文通过在GPU上计算直方图说明GPU计算中的原子操作。原子操作是计算中不能分解为更小的部分的操作。当有数千个线程在内存访问上发生竞争时,这些操作能够确保在内存上实现安全的操作。即数据能按照实际的顺序进行读写以至于不发生错误。 CPU上的直方图计算比较简单(以100M随机生成的无符号字符数据为例),一个for循环扫描一遍数据集就能统计各数据出现的频率。主要代码如下:unsigned原创 2016-06-08 15:10:32 · 2455 阅读 · 0 评论 -
Linux中MakeFile教程
跟我一起写 Makefile陈皓 (CSDN)概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML的标识的含义。特别转载 2016-07-15 15:22:28 · 262 阅读 · 0 评论 -
C/C++中一维与多维数组
一、一维数组首先介绍一下一维数组一维数组的声明:int a[10];一维动态数组:int *a;int n = 10;a = new int[n];delete []a;一维数组的初始化:int a[10] = {0};int a[10] = {0,1,2,3,4,5,6,7,8,9};int a[10] = {}; //C++11新增,默认初始化为0原创 2016-05-11 10:47:09 · 413 阅读 · 0 评论 -
struct class union的区别
1转载 2016-05-10 15:42:40 · 1692 阅读 · 0 评论 -
左值、右值与右值引用 & C++11中
我们先来谈谈C++11中对左右值的判断标准,以及左右值本身的一些细节,我想这应该是故事的开始。 在C++11中可以取地址的、有名字的就是左值,反之,不能取地址的、没有名字的就是右值。 举个例子:在a=b+c;中,&a是允许的操作,但&(b+c)这样的操作则不会通过编译。因此a是一个左值,(b+c)是一个右值。 其次,在C++11中右值又分为将亡值(xvalue,eX转载 2016-05-10 14:49:59 · 564 阅读 · 0 评论 -
浅析extern关键字
1 基本解释:extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。此外extern也可用来进行链接指定。 也就是说extern有两个作用,第一个,当它与"C"一起连用时,如: extern "C" void fun(int a, int b);则告诉编译器在编译fun这个函数名时按着C的规则去翻译相应的函数转载 2016-05-10 16:09:48 · 303 阅读 · 0 评论 -
C++中static关键字解析
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。1.面向过程设计中的static1.1静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们先举一个静态全局变量的例子,如下: //Example 1#include转载 2016-05-10 15:41:44 · 235 阅读 · 0 评论 -
原码、反码、补码
这是一个困惑了我几年的问题,它让我对现在的教科书和老师极其不满,从我N年前开始摸电脑时,就几乎在每一本C++教科书上都说,8位有符号的取值范围是-128~+127,为什么不是-127~+127呢,后来的java,int的聚值范围,再32位计算,-2^31 ~ +2^31-1,可是,却从来没有任何一本教科书或一个老师比我解释过这个问题。 原因没有在工作上或者是什么地方直接遇到它,所以我也一直忽略它,原创 2016-08-11 14:15:27 · 449 阅读 · 0 评论