![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++语言基础
sunshineofbeach
脚踏实地
展开
-
整理的一些面试常问语言知识
指针与数组的区别: C++/C程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。转载 2015-01-05 09:30:32 · 474 阅读 · 0 评论 -
拷贝构造函数和赋值运算符区别
‘=’只有在赋值时,才调用赋值函数,当在声明变量时,B b3=b1和B b4(b3)调用的函数是一样的,均为拷贝构造函数。 一、拷贝构造,是一个的对象来初始化一边内存区域,这边内存区域就是你的新对象的内存区域赋值运算,对于一个已经被初始化的对象来进行operator=操作class A; A a; A b=a; //拷贝构造函数调用转载 2015-04-02 14:44:40 · 433 阅读 · 0 评论 -
多态的特殊处理
转自:http://blog.csdn.net/bxyill/article/details/8639792#include using namespace std; class base { public: virtual void f(float f) { cout "base::f(float)"转载 2015-04-02 16:23:20 · 439 阅读 · 0 评论 -
static成员函数
static成员函数不可以用const修饰 因为const是为了保证成员变量不能改变,而static成员函数是为了改变static变量static成员函数不可以用virtual修饰 虚函数的使用需要this指针对应的对象,才能找到虚函数表,从而找到虚函数的地址。 static成员函数是属于类,没有this,两者冲突。原创 2015-04-02 18:37:30 · 446 阅读 · 0 评论 -
虚析构函数
虚析构函数: 一般都是必须为多态基类声明一个虚析构函数,如果一个类根本没有虚拟函数,那么就不能为其声明虚拟函数 因为声明虚拟函数是要空间消耗的.要建立虚函数表、虚函数指针这些东西。总体而言:虚析构函数的一个标准:当一个类中至少含有一个虚函数,才把它声明为虚析构函数。构造函数是没有必要声明为虚函数的,也不能声明虚函数。因为从实现角度来讲,虚函数的实现依赖虚函数指针,虚函数表,但原创 2015-03-06 11:26:59 · 411 阅读 · 0 评论 -
C++中的易混淆的返回类型
最近在看标准库类型时碰到很多1.size_type原创 2014-10-15 20:45:54 · 677 阅读 · 0 评论 -
STL概述
三十分钟掌握STLSTL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一转载 2012-07-24 15:51:21 · 578 阅读 · 0 评论 -
sizeof 和 strlen 的区别
sizeof 和 strlen 的区别:sizeof 是个运算符,通常参数可以使类型, 数组, 指针,带参数之后其值通常是在编译的阶段就确定。 它的目的是尽可能地分配足够大的存储空间。 具体而言,当参数分别如下时,sizeof返回的值表示的含义如下: 类型——该类型所占的空间大小; 数组——编译时分配的数组空间大小,与数组内的数据元素的个数无关; 指针——存储该指针所用的原创 2012-10-29 21:31:48 · 328 阅读 · 0 评论 -
浅谈C++多态性
C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是通过虚函数来实现的,虚函数允许子类重新定转载 2012-10-29 19:53:54 · 431 阅读 · 0 评论 -
IT公司经典C/C++面试题
面试题1:变量的声明和定义有什么区别不分配地址的称为声明,为变量分配地址和存储空间的称为定义。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。面试题2:写出bool 、int、 float、指针变量与“零转载 2012-10-28 16:00:02 · 701 阅读 · 0 评论 -
条款02 尽量以const ,enum,inline替换#define
zhege原创 2014-09-24 20:08:52 · 456 阅读 · 0 评论 -
vector 、deque、 list的使用总结
vector 是一个动态数组 只支持在数组的末端进行插入和删除元素原创 2014-10-29 09:40:47 · 700 阅读 · 0 评论 -
#pragma pack(n) 设置内存对齐
转载自:http://blog.csdn.net/21aspnet/article/details/6730124http://blog.csdn.net/bxyill/article/details/8130893在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据转载 2015-04-02 17:22:19 · 393 阅读 · 0 评论