![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 77
wujiangguizhen
这个作者很懒,什么都没留下…
展开
-
指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针变转载 2013-12-04 00:43:04 · 597 阅读 · 0 评论 -
c/c++ 多态的概念
预备知识:c++赋值兼容原则: 一个公有派生类的对象在使用上可以被当做基类的对象,反之则禁止。 派生类的对象可以被赋值给基类对象。 派生类的对象可以初始化基类的引用(指针也一样) 多态的概念: 1:先期联编:能够在编译时就能够确定哪个重载的成员函数被调用的情况 2:后期联编(多态性):系统在运行时,能够根据其参数类型确定调用哪个重载的成员转载 2014-06-13 18:39:37 · 898 阅读 · 0 评论 -
c++类的实例化,有没有new的区别
A a;A * a = new a();以上两种方式皆可实现类的实例化,有new的区别在于:1.前者在堆栈中分配内存,后者为动态内存分配,在一般应用中是没有什么区别的,但动态内存分配会使对象的可控性增强。2.不加new在堆栈中分配内存3.大程序用new,小程序直接申请4.只是把对象分配在堆栈内存中5.new必须delete删除,不用new系统会自动回收内存转载 2014-06-13 17:08:10 · 7106 阅读 · 1 评论 -
C++之string学习笔记(1)
C++之string学习笔记(1)====================string类介绍==================== 在C++时代,由于诞生了类,出项了一种C++风格的字符串,也就是string型字符串。我们在调用string类来定义字符串的时候,我们必须在程序开头添加头文件:#include转载 2014-07-03 15:48:59 · 673 阅读 · 0 评论 -
C++中关于new和delete的使用
最近一直在啃 C++ Primer 中文版第4版,发现 C++中new和delete应用遍布全书,现对其使用作简单总结。在C++中,可以使用new和delete动态创建和释放数组或者单个对象,现在对它们的使用一一道来。1.创建动态数组 数组类型的变量有三个重要的限制:数组长度固定不变,在编译时必须知道它的长度,数组只在定义它的块语句中存在。对于动态分配的数组,虽然长度是固转载 2014-06-26 22:39:40 · 534 阅读 · 0 评论 -
用g++编译最简单的C++程序hello.C出现可以用-Wno-deprecated屏蔽的警告,想问个究竟
程序如下: #include main () { cout } 警告如下: in file included from /usr/include/c++/3.2.2/backward/iostream.h:31,转载 2014-06-24 17:48:08 · 5572 阅读 · 1 评论 -
memcpy memmove区别和实现
memcpy memmove区别和实现memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。memmove的处理措施:(1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝(2)当源内存的首地址大于目标内存的首地址转载 2013-12-31 18:04:58 · 725 阅读 · 0 评论 -
函数指针的好处、作用
C中函数指针的作用 项目中用到了很多封装在struct中的函数指针,以前在MFC里面经常用到则个作为回调函数,还以为是微软设计的特色呢。在网上查了一下它的用法,做个总结。 1)提供调用的灵活性。设计好了一个函数框架,但是设计初期并不知道自己的函数会被如何使用。比如C的”stdlib”中声明的qsort函数,用来对数值进行排序。显然,顺序还是降序,元素谁大谁小这些问题,库程序员在编原创 2013-12-06 00:29:00 · 38817 阅读 · 3 评论 -
利用typedef定义函数指针(转载自ITeye)
进入正文: 代码简化, 促进跨平台开发的目的. typedef 行为有点像 #define 宏,用其实际类型替代同义字。 不同点:typedef 在编译时被解释,因此让编译器来应付超越预处理器能力的文本替换。用法一:typedef int (*MYFUN)(int, int); 这种用法一般用在给函数定义别名的时候上面的例子定义MYFUN 是一个函数指针, 函数类型是带转载 2013-12-05 23:36:40 · 673 阅读 · 0 评论 -
结构体初始化
今天同事聊到内核中结构体初始化,对结构体struct a {int b;int c;}有几种初始化方式:struct a a1 = { .b = 1, .c = 2};或者struct a a1 = { b:1, c:2}或者struct a a1 = { 1, 2};内核喜欢用第一种,使用第一转载 2013-12-05 22:22:20 · 1046 阅读 · 0 评论 -
定义指针类型时*号位置与功能的关系
定义指针类型时*号位置与功能的关系2007-05-11 10:22lulapub | 分类:其他编程语言 | 浏览1776次常常看到这样的句子:int* a;和int *a; 请问这*号紧靠在类型后面和紧靠变量前面,在含义上有什么区别吗? 在使用变量时有什么区别吗?分享到:举报▼| 2007-05-11 10:26提问转载 2013-12-05 22:27:18 · 1999 阅读 · 0 评论 -
typedef用法
在计算机编程语言中用来为复杂的声明定义简单的别名,与宏定义有些差异。它本身是一种存储类的关键字,与auto、extern、mutable、static、register等关键字不能出现在同一个表达式中。目录1定义2用法总结3语言用法4代码简化5平台开发1定义typed转载 2013-12-05 22:17:54 · 628 阅读 · 0 评论 -
定义函数指针
1 定义一个函数指针且不论语法,有两种不同形式的指针函数: 一个是指向普通的C函数的指针和C++的静态成员函数,另外一个是指向C++的非静态成员函数的指针。这两者的基本区别是所有指向非静态成员函数的指针都 需要这个隐含定义:指向本类的一个This指针。注意:这两种函数指针彼此不兼容。既然一个函数指针实际上和一个变量没有什么区别,定义它的时候也就没有什么特殊。下面的例子中我们定义3个函转载 2013-12-04 00:58:14 · 766 阅读 · 0 评论 -
结构体的定义以及使用
结构的定义定义一个结构的一般形式为:struct 结构名{成员表列}成员表由若干个成员组成,每个成员都是该结构的一个组成部分。对每个成员也必须作类型说明。例如:struct stu{int num;char name[20];int age;}结构类型变量的说明结构体定义并不是定义一个变量,而是定义了一种数据类型,这种类型是你定义的,转载 2013-12-04 00:51:17 · 791 阅读 · 0 评论