C++
文章平均质量分 91
microlyc
这个作者很懒,什么都没留下…
展开
-
结构体与类
先来说说C和C++中结构体的不同a) C语言中的结构体不能为空,否则会报错1>d:\myproject\visual studio 2013\projects\myc++\main.c(71): error C2016: C 要求一个结构或联合至少有一个成员b) C语言中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的。换句话说就是C语言中的结转载 2017-10-08 17:46:04 · 446 阅读 · 0 评论 -
new与malloc
再谈二者区别:1、new自动计算需要分配的空间,而malloc需要手工计算字节数2、new是类型安全的,而malloc不是,比如:int* p = new float[2]; // 编译时指出错误int* p = malloc(2*sizeof(float)); // 编译时无法指出错误new operator 由两步构成,分别是 operator new 和 c原创 2017-09-27 09:54:46 · 280 阅读 · 0 评论 -
[C++]数组初始化
定义:int *pia = new int[10]; // array of 10 uninitialized ints此 new 表达式分配了一个含有 10 个 int 型元素的数组,并返回指向该数组第一个元素的指针,此返回值初始化了指针 pia。在自由存储区中创建的数组对象是没有名字的,只能通过其地址间接地访问堆中的对象。注意:C++使用new和delete在堆(自转载 2017-10-13 17:49:58 · 307 阅读 · 0 评论 -
如何定义一个只能在堆(栈)上创建对象的类
在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。 静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方法,直接调用类的构造函数。 动态建立类对象,是使用new运算符将对象建立转载 2017-10-11 08:51:38 · 192 阅读 · 0 评论 -
extern C作用总结
http://blog.csdn.net/wangjiaoyu250/article/details/42809047功能概述 主要用与在C++代码中调用的C函数的声明,或C++中编译的函数要在C中调用,也即是导入C形式的函数库或者提供C类型的库给C调用,。可以在C++中使用C的已编译好的函数模块,在c++中么用到c语言写的函数,声明一下,在DLL中经常看到,避免C++ n转载 2017-10-09 11:08:21 · 182 阅读 · 0 评论 -
头文件中ifndef/define/endif的作用
例如:要编写头文件test.h #ifndef _TEST_H #define _TEST_H//一般是文件名的大写 ············ #endif 1.比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成转载 2017-10-25 08:50:12 · 826 阅读 · 0 评论 -
C++中define与const的区别
区别如下:用#define MAX 255定义的常量是没有类型的,所给出的是一个立即数,编译器只是把所定义的常量值与所定义的常量的名字联系起来,define所定义的宏变量在预处理的时候进行替换,在程序中使用到该常量的地方都要进行拷贝替换;用const float MAX = 255; 定义的常量有类型名字,存放在内存的静态区域中,在程序运行过程中const变量只有一个拷贝,转载 2017-10-25 08:59:51 · 189 阅读 · 0 评论 -
重写、覆盖、重载、隐藏、多态几个概念的区别分析
override->重写(=覆盖)、overload->重载、polymorphism -> 多态 override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。成员函数的重载(overload)、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。 1 重载与覆盖转载 2017-10-11 09:24:14 · 167 阅读 · 0 评论 -
C++面试常见题目问与答(汇总一)
http://blog.csdn.net/charles_r_chiu/article/details/478588851、什么是虚函数?什么是纯虚函数?答:虚函数声明如下: virtual ReturnType FunctionName(Parameter);引入虚函数是为了动态绑定。 纯虚函数声明如下:virtual ReturnType FunctionName()= 0转载 2017-10-25 11:13:36 · 357 阅读 · 0 评论