借你一秒

沉心静气,平常心,做好小事方成大事。

C++ explicit的作用

explicit作用:(显式的)在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项:    *      explicit 关键字只能用于类内部的构造函数声明上。    *      ...

2016-03-08 21:57:10

阅读数 1408

评论数 0

STL中set底层实现方式? 为什么不用hash?

红黑树与hash table最大的不同是,红黑树是有序结构,而hash table不是。但不是说set就不能用hash,如果只是判断set中的元素是否存在,那么hash显然更合适,因为set 的访问操作时间复杂度是log(N)的,而使用hash底层实现的hash_set是近似O(1)的。然而,se...

2015-10-21 21:56:31

阅读数 2334

评论数 0

stl的sort和手写快排的运行效率哪个比较高?

STL的sort必然要比你自己写的快排要快,因为你自己手写一个这么复杂的sort,那就太闲了。STL的sort是尽量让复杂度维持在O(N log N)的,因此就有了各种的Hybrid sort algorithm。题主你提到的先quicksort到一定深度之后就转为heapsort,这种是intr...

2015-10-21 21:14:39

阅读数 2997

评论数 0

main函数执行前、后再执行的代码

一、main结束 不代表整个进程结束  (1)全局对象的构造函数会在main 函数之前执行,          全局对象的析构函数会在main函数之后执行;          用atexit注册的函数也会在main之后执行。  (2)一些全局变量、对象和静态变量、对象的空间分配和赋初值就是在执行m...

2015-10-09 17:51:23

阅读数 1337

评论数 0

C++中类的构造函数调用顺序

当建立一个对象时,首先调用基类的构造函数,然后调用下一个派生类的构造函数,依次类推,直至到达派生类次数最多的派生次数最多的类的构造函数为止。简而言之,对象是由“底层向上”开始构造的。因为,构造函数一开始构造时,总是要调用它的基类的构造函数,然后才开始执行其构造函数体,调用直接基类构造函数时,如果无...

2015-09-23 17:02:28

阅读数 3824

评论数 0

为什么构造函数不能为虚函数

1,从存储空间角度    虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,无法找到vtable,所以构造函数不能是虚函数。2,从使用角度     ...

2015-09-16 08:23:58

阅读数 1020

评论数 2

C代码中如何调用C++ C++中如何调用C

1. 在C++中调用C:使用extern "C"则是告诉编译器依照C的方式来编译封装接口,当然接口函数里面的C++语法还是按C++方式编译。包装(wrapper)2. 在C中调用C++:extern "C" 的作用是:让C++连接器找调用函数的符号时采用C的...

2015-08-26 20:37:21

阅读数 985

评论数 0

浅析函数调用栈

1. 预备知识:函数调用大家都不陌生,调用者向被调用者传递一些参数,然后执行被调用者的代码,最后被调用者向调用者返回结果,还有大家比较熟悉的一句话,就是函数调用是在栈上发生的,那么在计算机内部到底是如何实现的呢? 对于程序,编译器会对其分配一段内存,在逻辑上可以分为代码段,数据段,堆,栈代码段:保...

2015-07-25 15:47:30

阅读数 1615

评论数 3

C++ RTTI介绍

一、定义:RTTI:Run Time Type Identification ,运行时类型识别:指程序能够使用基类的指针或引用来检索其所指对象的实际派生类型。 二、使用方式:C++中有两个操作符提供RTTI: (1)typeid 操作符:返回指针或引用所指对象的实际类型。 (2)dynamic_c...

2015-07-24 12:34:16

阅读数 1214

评论数 0

C++primer书店程序

#include #include #include #include #include using namespace std; class Sales_data { friend std::istream& operator>>(std::istream...

2015-07-01 18:04:48

阅读数 2051

评论数 3

C++复制构造函数和赋值符的区别

C++复制构造函数和赋值符的区别:http://blog.csdn.net/randyjiawenjie/article/details/6666937 拷贝构造函数和赋值符函数:http://www.cnblogs.com/dwdxdy/archive/2012/07/17/25949...

2015-06-14 20:42:23

阅读数 793

评论数 0

为什么operator<<>>运算符重载一定要为友元函数呢?

如果是重载双目操作符(即为类的成员函数),就只要设置一个参数作为右侧运算量,而左侧运算量就是对象本身。。。。。。 而 >>  或。。。。。。。。就只能申明为友元函数了。。。 如果一定要声明为成员函数,只能成为如下的形式: ostream & operator {   ...

2015-06-11 21:01:55

阅读数 4510

评论数 0

c++ primer 第五版第八章答案

8.1 8.2 /* * c++ primer exercise. * test file. */ #include using namespace std; istream & read_write(istream &in) { // char cval; ...

2015-05-25 17:25:37

阅读数 2046

评论数 0

C++中cout输出字符型指针地址值的方法

#include #include using namespace std; int main(){ char c[3]={'a','b','c'}; char *p=c; cout cout(p+1) cout(p+2) system("pause&quo...

2015-02-09 08:51:35

阅读数 2309

评论数 0

C++实现百分号进度条的程序

#include #include//Sleep调用 using namespace std; int main(){ std::cout << "\n正在输出记录数据...... "; for( int i=0; i <= 100; i++ ) ...

2015-02-09 08:42:24

阅读数 5021

评论数 0

C++ 类访问控制public/private/protected探讨

摘要:本文是从饮水思源BBS C/C++版上一篇帖子引发的思考。当时看到帖子,突然觉得平时见惯了的,在这里似乎变得陌生了,究竟访问控制符怎样起作用,怎样使用,该怎样理解,本文试图给出讨论。 原帖如下  1 #include   2 using namespace std;  3  ...

2015-02-07 11:29:45

阅读数 1131

评论数 2

实数范围内的求模(求余)运算:负数求余究竟怎么求

背景 最近在一道 Java 习题中,看到这样的一道题: What is the output when this statement executed: System.out.printf(-7 % 3); 正整数的取余运算大家都很熟悉,但是对于负数、实数的取余运算,确...

2015-01-26 14:14:46

阅读数 1063

评论数 0

#ifdef __cplusplus extern "C" { #endif”的定义

看一些程序的时候老是有 “#ifdef __cplusplus extern "C" { #endif”的定义,搞搞清楚是怎么回事: Microsoft-Specific Predefined Macros __cplusplus Defined for C++ ...

2015-01-13 20:06:41

阅读数 907

评论数 0

菜单编写(VC_Win32)

http://blog.csdn.net/tcjiaan/article/details/8497535 http://blog.csdn.net/kz_ang/article/details/8130955 菜单在 .rc 文件中的格式 .rc 中的菜单格式...

2015-01-06 10:03:31

阅读数 1027

评论数 0

字符串和编码

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二...

2014-12-09 16:54:48

阅读数 820

评论数 0

提示
确定要删除当前文章?
取消 删除