博客专栏  >  编程语言   >  C++语言

C++语言

C++基础,C++面向对象程序设计,C++设计模式

关注
11 已关注
20篇博文
  • Unicode和字符串处理

    我们熟悉的ASCII码全称是美国国家信息交换标准码,它起源于20世纪50年代末,并于1967年最终定型。ASCIIS码使用7位(bit)的宽度,有26个小写字母,26个大写字母,10个数字,32个符号...

    2013-03-19 10:04
    9699
  • make命令与makefile文件

    一、多个源文件带来的问题在编写c/c++测试程序时,我们习惯每次修改一处代码,然后就马上编译运行来查看运行的结果。这种编译方式对于小程序来说是没有多大问题的,可对于大型程序来说,由于包含了大量的源文件...

    2017-03-29 21:30
    287
  • 记一次程序优化记录

    忙了几个月的项目终于在生产环境上上线,虽然接下来还有不少工作需要跟进,但终究不像上段时间那么忙了,因此也就能利用周末的时间,对之前优化程序性能的过程作下记录,也当是个小小的经验总结。程序的应用场景是往...

    2017-08-13 13:35
    186
  • C++ Pointer-Like Classes,C++的指针类

    所谓pointer-like class(指针类),是指一个类被设计成像指针一样,可以当成指针来使用。为什么有了传统的指针还需要指针类?这是由于我们想在指针的基础上多做一点东西,或者说,我们想对指针有...

    2016-02-15 23:13
    1187
  • C++虚函数表剖析

    关键词:虚函数,虚表,虚表指针,动态绑定,多态一、概述为了实现C++的多态,C++使用了一种动态绑定的技术。这个技术的核心是虚函数表(下文简称虚表)。本文介绍虚函数表是如何实现动态绑定的。二、类的虚表...

    2016-02-18 20:28
    6522
  • C++转换函数

    一、conversion function, 转换函数转换函数(conversion function)是一种特殊类型的类成员函数。它定义了一个由用户定义的转换,以便把一个类对象转换成某种其他的类型。...

    2017-01-05 21:21
    754
  • 细说 C++ Traits Classes

    最近在看侯捷的《STL源码剖析》,看到第三章有关 traits 的介绍,被搞得一头雾水,看了半天不知所云。为了彻底了解这个技法的原理,硬着头皮上网查了资料,并结合 Scott Meyers 的 《Ef...

    2017-02-13 08:29
    944
  • C++空类的大小

    C++空类的大小为什么不为0?先来看测试程序的输出。#include using namespace std;class NoMembers { };int main() { NoMembe...

    2015-10-04 07:41
    3084
  • 构造、析构、赋值

    个人觉得在C++的类中,这三个函数在什么时候调用确实有点难搞清楚。下面通过一个程序的运行结果对这几个函数进行说明。 程序如下: #include iostream> using namesp...

    2008-01-23 15:31
    830
  • 有关虚(virtual)析构函数

    记得有一次在面试的时候被问到虚析构函数的作用,当时回答得不是很好,故现在想重新整理下。 先看下下面的代码: #include iostream> using namespace std;...

    2007-12-07 12:39
    1571
  • 漫谈C++里的“引用”

    引用“&”是C++新增的概念,注意这里的“&”并不是“取地址”的含义。引用(reference)简单的说就是一个对象的别名。用对象来初始化引用后,那么对象的名字或引用的名字都指向(refer to)该...

    2008-02-15 11:54
    866
  • C++虚函数表解析(转)

    C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术...

    2010-06-26 16:38
    606
  • C++ STL set::find的用法

    上次面阿里巴巴。面试官问了我这样一个问题,“C++ STL中的set是如何实现的”。当时只答了二叉树,回来查下书,原来一般是红黑树,后悔没好好记住啊。。。 接着,面试官又考了我一道这样的编程题:定义一...

    2011-04-04 23:06
    46905
  • C/C++使用心得:enum与int的相互转换

    如何正确理解enum类型? 例如: enum Color { red, white, blue}; Color x; 我们应说x是Color类型的,而不应将x理解成enumerati...

    2011-09-27 13:03
    46512
  • C++的const类成员函数

    我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误。例如, const char blank = ‘’; blank = ‘\n’; // 错误   ...

    2013-03-04 18:00
    50447
  • 以对象管理资源——C++智能指针auto_ptr简介

    auto_ptr是C++标准库提供的类模板,它可以帮助程序员自动管理用new表达式动态分配的单个对象。auto_ptr对象被初始化为指向由new表达式创建的对象,当auto_ptr对象的生命期结束时,...

    2013-09-01 21:05
    1300
  • C++转型操作符

    在C语言里面,使用括号加类型这种方式进行类型转换,我们将此转型操作符为旧式转型操作符。旧式转型操作符具有不少缺点。首先是职责不明确。旧式转型操作符几乎允许你将任何类型转换为任何其他类型,出错的概率也相...

    2013-07-27 18:52
    1075
  • 删除STL容器元素的方法

    STL中,要删除容器内的一个元素,其方法会随着容器类型的不同而不同。 一、删除特定值的元素 1. 序列容器 2. 关联容器 二、删除满足特定条件的元素 1. 序列容器 2. 关联容器

    2014-04-05 17:17
    1644
  • C++使用之常量的定义

    在介绍C++的常前,先看下下面的代码。 for (int i = 0; i < 512; ++i) { …; } 512是什么,它具有什么含义?在代码中若直接使用类似512这些“魔数”(...

    2013-09-15 22:43
    11443
  • 编译防火墙——C++的Pimpl惯用法解析

    Pimpl(pointer to implementation, 指向实现的指针)是一种常用的,用来对“类的接口与实现”进行解耦的方法。这个技巧可以避免在头文件中暴露私有细节(见下图1),因此是促进A...

    2015-08-30 19:55
    6651
img博客搬家
img撰写博客
img发布 Chat
img专家申请
img意见反馈
img返回顶部