C/C++
文章平均质量分 90
wulafly
这个作者很懒,什么都没留下…
展开
-
int main(int argc, char*argv[])是什么意思?什么时候用?
这是C/C++的一重要函数,叫主函数。无论程序多复杂,代码中必须有这么一个函数,也只能有一个这样的函数;程序执行时就是从这个函数进入的。由于问得比较笼统,如果你想知道详细情况的话,发给你一个网友的求助与本人的回答,自己看吧……假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的提示符下键入: PROG ABCDEFGH IJKL则输出结果为:main(转载 2016-08-10 10:33:44 · 28549 阅读 · 3 评论 -
C++ 引用的作用和用法
我的总结:引用的好处之一就是在函数调用时在内存中不会生成副本。引用总结(1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。(2)用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。(3)引用与指针的区别是,指针通过某转载 2016-08-18 17:02:43 · 1203 阅读 · 0 评论 -
malloc和free函数详解
本文介绍malloc和free函数的内容。 在C中,对内存的管理是相当重要。下面开始介绍这两个函数: 一、malloc()和free()的基本概念以及基本用法:1、函数原型及说明:void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。转载 2016-08-12 20:09:14 · 262 阅读 · 0 评论 -
C++拷贝构造函数详解
版权声明:本文为博主原创文章,未经博主允许不得转载。一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plain copyint a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。转载 2016-08-20 16:17:13 · 342 阅读 · 0 评论 -
char指针与char数组的区别(非常详细!)
首先看指针:char *p = “helloworld”; 在这里p是一个变量,其类型为指针类型,并且指向一个字符串,字符串内容为”helloworld”,如果要访问p[2]的话,就需要先从p中取出地址,该地址为”helloworld”的首地址,然后再加上偏移量2,就得到了’l’这个字符,所以其访问的方式为先从p中取出地址,然后再将该地址加上偏移量,得到一个地址,最后从这个地转载 2017-03-16 10:58:33 · 1673 阅读 · 0 评论 -
关于图像降色彩后,彩色直方图统计与实际像素值不匹配问题
先来看一个通过遍历图像来进行图像降色彩(Color Reduce)的例子:一、遍历图像的最基本方式:at(i,j)Mat类提供了一个at的方法用于取得图像上的点,它是一个模板函数,可以取到任何类型的图像上的点。下面我们通过一个图像处理中的实际来说明它的用法。在实际应用中,我们很多时候需要对图像降色彩,因为256*256*256实在太多了,在图像颜色聚类或彩色直方图时原创 2017-05-06 10:54:08 · 1018 阅读 · 0 评论 -
OpenCV:通过Mat遍历图像的几种方法
我们在实际应用中对图像进行的操作,往往并不是将图像作为一个整体进行操作,而是对图像中的所有点或特殊点进行运算,所以遍历图像就显得很重要,如何高效的遍历图像是一个很值得探讨的问题。一、遍历图像的4种方式:at(i,j)Mat类提供了一个at的方法用于取得图像上的点,它是一个模板函数,可以取到任何类型的图像上的点。下面我们通过一个图像处理中的实际来说明它的用法。在实际应用中,我原创 2017-05-02 00:53:07 · 17744 阅读 · 1 评论 -
C++引用作为函数参数
有了变量名,为什么还需要一个别名呢?C++之所以增加引用类型, 主要是把它作为函数参数,以扩充函数传递数据的功能。到目前为止我们介绍过函数参数传递的两种情况。1) 将变量名作为实参和形参这时传给形参的是变量的值,传递是单向的。如果在执行函数期间形参的值发生变化,并不传回给实参。因为在调用函数时,形参和实参不是同一个存储单元。【例6.18】要求将变量i和j的值互换。下面的转载 2017-05-07 21:45:42 · 754 阅读 · 0 评论 -
c++ vector 基本用法 (3)
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的. 用法: 1.文件包含: 首先在程序开头处加上#include以包含所需要的类文件vector 还有一定要加上using name转载 2017-05-07 22:19:12 · 641 阅读 · 0 评论 -
c++ vector 基本用法 (2)
一、向量的介绍 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。 在使用它时, 需要包含头文件 vector, #include转载 2017-05-07 22:18:09 · 500 阅读 · 0 评论 -
指针数组和数组指针的区别
这两个名字不同当然所代表的意思也就不同。我刚开始看到这就吓到了,主要是中文太博大精深了,整这样的简称太专业了,把人都绕晕了。从英文解释或中文全称看就比较容易理解。指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针数组指针:a pointer to an array,即指向数组的指针还要注意的是他们用法的区别,下面举例说明。in转载 2016-08-18 20:00:23 · 161 阅读 · 0 评论 -
C++ 引用的作用和用法
我的总结:引用的好处之一就是在函数调用时在内存中不会生成副本。引用总结(1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。(2)用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const的使用,保证了引用传递的安全性。(3)引用与指针的区别是,指针通过某转载 2016-08-18 20:03:28 · 632 阅读 · 0 评论 -
C++引用及常引用
一、变量的引用:引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。引用的声明方法:类型标识符 &引用名=目标变量名; 例:char ch; char &rp=ch; 1)引用仅是变量的别名,而不是实实在在地定义了一个变量,因此引用本身并不占用内存,而是和目标变量共同指向目标变量的内存地址. 2)表达式中的取地址符转载 2016-08-18 20:44:58 · 14551 阅读 · 3 评论 -
-> 在c语言中是什么意思?
->在C语言中称为间接引用运算符,是二目运算符,优先级同成员运算符“.”。用法:p->a,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员。表达式p->a引用了指针p指向的结构体的成员a。例如:struct T{ int a; char b;}s;struct T* p=&s;那么,p->a相当于s.a。显然,有个等价写法:(*p).a,和p->a完全等效。转载 2016-08-11 10:56:04 · 4438 阅读 · 0 评论 -
C++二级指针char **的用法
char **p和char *p[]基本一样,区别讲不出来,写个例子体会吧。#include using namespace std;void main(){ // 第一种初始化方法 char **p = new char *[10]; // 赋值后正常使用 p[0] = "aaa"; cout0] //转载 2016-08-11 15:23:32 · 2222 阅读 · 0 评论 -
深入 char * ,char ** ,char a[ ] ,char *a[] 内核
C语言中由于指针的灵活性,导致指针能代替数组使用,或者混合使用,这些导致了许多指针和数组的迷惑,因此,刻意再次深入探究了指针和数组这玩意儿,其他类型的数组比较简单,容易混淆的是字符数组和字符指针这两个。。。下面就开始剖析一下这两位的恩怨情仇。。。 1 数组的本质 数组是多个元素的集合,在内存中分布在地址相连的单元中,所以可以通过其下标访问不同单元的元素。。 2 指针。转载 2016-08-11 15:06:04 · 261 阅读 · 0 评论 -
VC的「附加依赖项」、「库目录」和「包含目录」分别有什么用?
包含目录:#include 中headerfile.h的搜索目录。如果有XXX.h找不到,设置这个目录可以解决。附加依赖项:C++的库会把函数、类的声明放在*.h中,实现放在*.cpp或*.cc中。编译之后,*.cpp,*.cc,*.c会被打包成一个.lib文件,这样可以保护源代码。所以,要使用一个库,除了要include他的头文件以外,还要在链接过程中把lib加进去。这个就是在附加链接库中转载 2016-10-29 16:11:19 · 521 阅读 · 0 评论 -
内联函数
影响性能的一个重要因素是内联技巧。内联函数也可称为内嵌函数。 在C++中,函数调用需要建立栈环境,进行参数的复制,保护调用线程,返回时,还有进行返回值复制,恢复调用现场。这些工作都是与完成特定任务的操作武功的额外开销。程序效率由于改下工作而受到影响,所以,流行的CPU都已经将函数调用的额外工作硬件化了,以此来建减少运行开销。尽管如此,调用工作还是有一些微小的开销的,如果频繁调用很少语句的转载 2016-08-20 20:42:34 · 469 阅读 · 0 评论 -
浅拷贝与深拷贝的区别
简单的来说就是,在有指针的情况下,浅拷贝只是增加了一个指针指向已经存在的内存,而深拷贝就是增加一个指针并且申请一个新的内存,使这个增加的指针指向这个新的内存,采用深拷贝的情况下,释放内存的时候就不会出现在浅拷贝时重复释放同一内存的错误!我列举一个例子来说吧:你正在编写C++程序中有时用到,操作符的重载。最能体现深层拷贝与浅层拷贝的,就是‘=’的重载。看下面一个简单的程序:cla转载 2016-08-20 14:23:17 · 341 阅读 · 0 评论 -
指针函数与函数指针
1.指针函数先看下面的函数声明,注意,此函数有返回值,返回值为int *,即返回值是指针类型的。[cpp] view plain copyint *f(int a, int b); 上面的函数声明又可以写成如下形式:int* f(int a, int b);让指针标志 * 与int紧贴在一起,而与函数名f转载 2016-08-18 21:09:50 · 246 阅读 · 0 评论 -
指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函转载 2016-08-18 21:06:39 · 225 阅读 · 0 评论 -
C语言中结构体指针的定义和引用
指向结构体类型变量的使用首先让我们定义结构体:struct stu{char name[20];long number;float score[4];} ;再定义指向结构体类型变量的指针变量:struct stu *p1, *p2 ;定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员;[例7-2] 对指向结构体类型变量的正确使转载 2016-08-18 20:47:06 · 1597 阅读 · 1 评论 -
c++ vector 基本用法 (1)
vector是STL中最常见的容器,它是一种顺序容器,支持随机访问。 vector是一块连续分配的内存,从数据安排的角度来讲,和数组极其相似, 不同的地方就是:数组是静态分配空间,一旦分配了空间的大小,就不可再改变了; 而vector是动态分配空间,随着元素的不断插入,它会按照自身的一套机制不断扩充自身的容量。vector的扩充机制:按照容器现在容量的一倍进行增长。 vector容器分配的转载 2017-05-07 22:00:55 · 2102 阅读 · 0 评论