- 博客(11)
- 收藏
- 关注
转载 【转】C++ 字符串与16进制字符串之间的转换
string t_sHexStr = "DF";unsigned long t_ulValue = 0;sscanf(t_sHexStr.c_str(), "%x", &t_ulValue);
2016-08-10 12:50:53
2144
转载 一篇讲得非常好的build模式的解释文章
下面是我自己对建造者模式的理解。具体我还没在开发中应用过,这只是对于书本的理解。建造者模式建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。这是建造者模式的标准表达,不过看着让人迷惑,什么叫构建和表示的分离?一个对象使用构造函数构造之后不就固定了,只有通过它方法来改变它的属性吗?而且还要同样的构建过程搞出不同的表示,怎么可能呢?多写几个构造函数?
2015-09-03 18:18:21
2536
转载 构造函数为什么不能是虚函数
1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2. 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是
2013-12-17 18:30:26
614
原创 [转自鉴客的博客]深入理解C++动态绑定
为了支持c++的多态性,才用了动态绑定和静态绑定。理解他们的区别有助于更好的理解多态性,以及在编程的过程中避免犯错误,需要理解四个名词:1、对象的静态类型:对象在声明时采用的类型。是在编译期确定的。2、对象的动态类型:目前所指对象的类型。是在运行期决定的。对象的动态类型可以更改,但是静态类型无法更改。关于对象的静态类型和动态类型,看一个示例:class B{}class C
2013-12-04 22:06:39
429
转载 Java中final 与C++中Const的区别
(1)final在java中定义常量,可作用于基本类型或者类类型,若是作用于类类型,则此类类型不能作为父类被继承,也就是说它的下面不能有子类,这样的类叫做原子类。 C++中的const定义常量,(2)Java中的final如果是对于基本类型,那和C++ const是一样的 但是如果是对对象而言,不同了 (3)final表示这个句柄是不可改
2013-11-23 16:37:58
1273
转载 C++内部类与JAVA内部类的不同
C++中好像不区分内部类与嵌套类两个名词。内部类与嵌套类都是指在类中定义类。局部类是指在函数中定义类。(c++不能在函数中定义函数。c++在类中定义的函数也就是成员函数。)(c++内部类与java内部类最大的区别就是:c++的内部类对象没有外部类对象的指针,不能访问外部类对象的非静态成员;java的非静态内部类对象有外部类对象的指针,能访问外部类对象的非静态成员。)
2013-11-23 12:56:24
1128
转载 【转】C++内部类
#include class Outer { public: Outer() { cout"Invoke Outer Constructor"<<endl ; } class Inner { public: Inner() {
2013-11-23 12:45:57
610
转载 为什么static 成员函数不能为const
以下是转载自CSDN某大牛博客(复制的时候手快了,忘了记名字)最近在网上查资料的时候偶然看到有人说static成员函数不能用const修饰的问题,感觉有点奇怪,以前都没有这么用过,也没有想过他们两个到底能不能搭配起来使用,后来仔细一想发现确实是这么回事,因为我们在定义一个类对象的时候,实际上只给该对象的非静态的数据成员分配内存空间(假设没有虚函数),而该类的静态成员数据以及该类的函数都在编译的
2013-11-10 22:25:10
1950
原创 如何输出全排列
写这篇博文的原因是源于今年校招笔试常考的一道题。鉴于我是一个特别懒的人,但是由于多次跪在这道题上,我觉得我不得不或者说应当在这道题上做一些事情了。题目原意是要输出一个字符串的全排列。(各个公司可能会有题目的不同版本)输入:bcd输出:bcd bdc cbd cdb dcb dbc代码如下:#include using namespace std;char *str;//
2013-11-08 12:49:02
942
转载 mutable使用方法——From百科
在C++语言中,是命令语言——如果一个函数被const 修饰,那么它将无法修改其成员变量的,但是如果这个成员变量是被mutable修饰的话,则可以修改。mutable 可以用来指出,即使结构或者类变量为const,其某个成员也可以被修改。在c++的类中, 如果一个函数被const 修饰,那么它将无法修改其成员变量的,但是如果这个成员变量是被mutable修饰的话,则可以修改。例如s
2013-11-08 10:05:55
671
转载 C++中的explicit
C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。所以, 有时候在我们写下如 AAA = XXX, 这样的代码, 且恰好XXX的类型正
2013-11-07 20:56:58
481
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人