C++
DSIslander
这个作者很懒,什么都没留下…
展开
-
字数
#include "stdafx.h" #include #include #include #include using namespace std;int main(){ int c = 0; ifstream infile("c:\\test.txt"); string str; while (infile>>st转载 2012-11-28 00:08:25 · 436 阅读 · 0 评论 -
c++(重载、覆盖、隐藏)
成员函数的重载、覆盖与隐藏成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。8.2.1 重载与覆盖成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual 关键字可有可无。覆盖是指派生类函数覆盖基类函数,特征是:(1)不同的范围(分别位于派生类与转载 2012-11-23 18:31:34 · 281 阅读 · 0 评论 -
开源C++函数库Boost内存池使用与测试
oost库是一个可移植的开源C++函数库,鉴于STL(标准模板库)已经成为C++语言的一个组成部分,可以毫不夸张的说,Boost是目前影响最大的通用C++库。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容,是一个“准”标准库。 Boost内存池,即boost.pool库,是由Boost提供的一个用于内存池管理的开源C++库。作为Boost中影响较大转载 2012-11-23 00:08:44 · 1255 阅读 · 0 评论 -
C++静态成员函数小结(转)
类中的静态成员真是个让人爱恨交加的特性。我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动。 静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成员。和其他数据成员一样,静态数据成员也遵守public/protected/private访问规则。同时转载 2012-11-22 15:57:39 · 278 阅读 · 0 评论 -
Const Reference
C/C++ code?1234int i = 2000;const int &refI = i; //i不是const,但refI是。++i1、引用就是被引用变量的别名。只要“被引用变量(i)”和“引用变量(refI)”二者其一“合法地”改变,那么另一个肯定就会变。2、const 型引用又是一种特殊情转载 2012-11-22 15:30:32 · 563 阅读 · 0 评论 -
ASSERT什么时候用?怎么用?
ASSERT什么时候用?怎么用?ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。 ASSERT只有在Debug版本中才有效,如果编译为Rele转载 2012-11-22 22:26:47 · 1870 阅读 · 0 评论 -
c++默认的拷贝构造函数是浅拷贝
c++默认的拷贝构造函数是浅拷贝浅拷贝就是对象的数据成员之间的简单赋值,如你设计了一个没有类而没有提供它的复制构造函数,当用该类的一个对象去给令一个对象赋值时所执行的过程就是浅拷贝,如:class A { public: A(int _data) : data(_data){} A(){}private: int data; };int main() { A a(5), b = a转载 2012-11-22 15:06:44 · 2345 阅读 · 0 评论 -
explicit和implicit关键字
explicit和implicit关键字(转)换了工作,不使用.net了,改用c++,很多c++基础知识本就不熟,再加上这么长时间没碰过,基本忘光了。C#中有explicit和implicit两个关键字,但c++中只有explicit一个关键字。而且explicit在c++中使用范围还很窄,只能用来修饰类的构造函数。而且还只是在类的构造函数只有一个参数或有多个参数但仅有一个参数没有转载 2012-11-22 17:05:45 · 2523 阅读 · 0 评论 -
加一个throw()到函数中
加一个throw()到函数中?这是异常规范,只会出现在声明函数中,表示这个函数可能抛出任何类型的异常void GetTag() throw(int);表示只抛出int类型异常void GetTag() throw(int,char);表示抛出in,char类型异常void GetTag() throw();表示不会抛出任何类型异常void GetTag() throw(..转载 2012-11-22 17:01:02 · 395 阅读 · 0 评论 -
Mutable keyword
mutable member-variable-declaration;This keyword can only be applied to non-static and non-const data members of a class. If a data member is declared mutable, then it is legal to assign a value to转载 2012-11-22 15:46:07 · 322 阅读 · 0 评论 -
c++中static的全部用法
要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量:int a;string s; 其实就是:auto int a;auto string s;而static变量的声明是:转载 2012-11-22 12:22:35 · 353 阅读 · 0 评论 -
一些代码
Singleton的实现:class Singleton { public: static Singleton* getInstance(); protected: Singleton(){}; ~Singleton(){}; private: static Singleton* Instance; }; Singleton* Sin转载 2012-11-26 23:40:29 · 354 阅读 · 0 评论 -
经典面试题(整理)
改错题:class foo{ public: foo(int j) {i=new int[j];} ~foo(){delete i;} private: int *i; }class derive:foo{ public: derive(char j){i=new int[j];} ~de转载 2012-11-26 17:03:30 · 579 阅读 · 0 评论 -
引用
2. 什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。申明一个引用的时候,切记要对其进行初始化。引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类转载 2012-11-23 17:42:04 · 325 阅读 · 0 评论