C++
shenyan008
这个作者很懒,什么都没留下…
展开
-
volatile 和 const的位置
int i = 0;const int ci = 1; //ci是constconst int * pi = &ci; //(*pi) 是const,同int const *pi = &ciint * const pi = &i; //pi是const,而(*pi)不是const,所以pi不能指向ci(const int)int const * const pi = &ci; //pi和(*pi)都是const规则可以简单的理解为const修饰const之后的表示的类型(包括类型(原创 2011-03-16 16:50:00 · 720 阅读 · 0 评论 -
C++ 标准程序库 笔记 Function Adapters
1. 针对函数对象的配接器,把一个函数对象转化成另外一个函数对象;比如:bind1st 和 bin2nd 把一个需要两个参数的函数对象转化成只要一个参数的函数对象;这种配接方式,只需要在operetor()中重新调用需要被被转化的函数对象即可实现;例子:pos =原创 2011-09-29 12:57:22 · 638 阅读 · 0 评论 -
Stream 和 EOF
1. EOF在C代码里面是一个宏,是一个负数,一般是-1;EOF用在getc或者函数cin.get等函数的返回值中:文件中可以有ASCII码为-1(或255)的字符,虽然打印是乱码。但是,getc等函数读到'\xFF'(-1),返回的是一个有符号整数值255,而不是-1,-1是读到了文件末尾返回的,这里的-1不是字符,同时对流设置end-of-file 指示符。(getc对读到的字符做了cha原创 2011-07-15 22:06:36 · 1234 阅读 · 0 评论 -
C++ 11
The Biggest Changes in C++11 (and Why You Should Care)转自:http://www.softwarequalityconnection.com/2011/06/the-biggest-changes-in-c11-and-why-you-should-care/It’s been 13 years since the first it转载 2012-03-15 01:05:20 · 1106 阅读 · 0 评论 -
global/class placement new
#include #include using namespace std;class Base{public: Base():a(0){}; ~Base(){}; void func(){} int a;};class Derived : public Base{public: Derived(){ cout << "Construc原创 2012-09-04 23:22:38 · 603 阅读 · 0 评论 -
const和非const函数重载,mutable关键字
const和非const函数重载摘自:http://zhidao.baidu.com/question/55437904.html&__bd_tkn__=69fb5e3c2b2983204e1bbd71eea26689c71e8ae28078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157转载 2012-09-07 18:19:54 · 574 阅读 · 0 评论 -
Hash_container
参考:1. hash_map 哈希函数2. 枚举hash_map所有元素:http://stackoverflow.com/questions/8871472/how-to-get-all-keys-from-stl-hash-map hash_map::begin()/end(), hash_map::iterator3.转载 2012-09-07 21:25:08 · 537 阅读 · 0 评论 -
auto_ptr 使用
1. 包含头文件:#include std::auto_ptr2. 初始化和复制:auto_ptr ptr1; // 不带参数初始化auto_ptr ptr2(new ClassA); // 用对象指针初始化ptr1 = new ClassA; // 错误,不能直接通过对象指针赋值ptr2 = ptr1; // ptr2指向的对象被删除,ptr1指向的对象的原创 2012-09-26 17:04:28 · 631 阅读 · 0 评论 -
面向对象三个要素,五原则 笔记
三要素:封装、继承、多态五原则:单一职责原则(Single Resposibility Principle)开放封闭原则(Open-Close Principle):对扩展开放,对修改封闭Liskov 替换原则: 参考(http://blog.csdn.net/zhengzhb/article/details/7281833) 里氏替换原则通俗的来原创 2012-09-27 00:27:13 · 2059 阅读 · 0 评论 -
STL 源码剖析 笔记 2:左右值 值和引用
首先,可以参考吴桐的文章http://blog.csdn.net/csdnji/archive/2004/11/05/169200.aspx,不赞同他把临时变量认为是右值,但是很赞同把引用用于解释左值。 首先纠正下错误观念。1)左值可变,右值不可变。 那么,C++中的const变量认为是右值,我认为这是不合理的。这是不可变的l-value2)左值有地址,右值没有地原创 2010-04-22 12:27:00 · 598 阅读 · 0 评论 -
STL 源码剖析 笔记 1: 函数指针和类型
P57 有如下一段代码:static void (* set_malloc_handler(void (*f)()) )(){ void (* old)() = __malloc_alloc_oom_handler; __malloc_alloc_oom_handler = f; return (old);} 不像函数指针变量定义,也不像函数定义。可以参考:http:/原创 2010-04-19 14:28:00 · 601 阅读 · 0 评论 -
signed unsigned 的数值概念
1. signed 和 unsigned 是两种类型,对存储器中的内容作不同的数值上的解释,可以理解为一个解码过程(signed, unsigned 控制存储空间中最高位的使用,char, int等控制访问的字节数):如:(signed char)0x81的数学上的值是-127(或者十六进制表示为-7F,符号和进制无关,所以存储的内容到数学上的值,需要一个理解上的转化过程)(用原创 2011-06-11 15:41:00 · 1498 阅读 · 0 评论 -
临时对象与左右值
原文地址:http://blog.csdn.net/todototry/article/details/1481047临时对象是一个普通的对象,只是由于它并未提供对象名,同时也不像堆对象(无名对象)一样提供了对象的指针(即知道对象的地址),所以一般只用来作右值,但这并转载 2011-09-01 15:55:25 · 1037 阅读 · 0 评论 -
va_list 详解
va_list 详解转自:http://www.cppblog.com/xmoss/archive/2009/07/20/90680.aspxVA_LIST 是在C语言中解决变参问题的一组宏他有这么几个成员:1) va_list型变量:#ifdef _M转载 2011-08-12 21:55:48 · 508 阅读 · 0 评论 -
cout 格式化输出
摘自:http://topic.csdn.net/u/20091118/18/eb3d7740-877d-4619-86c5-855d9dba3d95.htmlC/C++ code/*关于浮点数的格式*/ #include iostream> int main(转载 2011-09-23 18:31:41 · 586 阅读 · 0 评论 -
LSH 笔记 X Window System
1. 历史来源于MIT的Athena项目,本来叫W(1980),自然接下来就叫X;1985,Version 10 得到广泛使用,不久之后就除了 11;现在是X11R7.6;XFree86 是X服务器在Linux下的实现,直到2004年,由于条款的变化,XFree8原创 2011-09-27 18:19:18 · 760 阅读 · 0 评论 -
解读IEEE标准754:浮点数表示
解读IEEE标准754:浮点数表示如须转载请注明作者为soloforce@linuxsir.org,并请保持文章的完整和提供转载出处。http://bbs.linuxsir.org/showthread.php?t=262207更新:20060623-06:4转载 2011-09-26 22:12:22 · 674 阅读 · 0 评论 -
C++ 标准程序库 笔记 13.4.3 Stream 状态和布尔条件测试 类型转换函数he单参构造函数
1. stream重载了两个操作符:其中一个是类型转换操作符:operator void*(),判断stream是否出错,相当于!fail()可以用它判断stream的错误情况:while (std::cin){...}因为控制结构中的布尔条件并非不是非得原创 2011-07-15 17:19:21 · 761 阅读 · 0 评论 -
STL 算法 笔记 排序算法
这些算法都需要随机存取迭代器的支持,所以不支持list。pred 参数:默认排序准则为 operator 1. nth_elementtemplate void nth_element(RanIt first, RanIt nth, Ran原创 2011-09-19 12:57:00 · 539 阅读 · 0 评论 -
C++ int string 相互转换转换
Converting numbers to strings and strings to numbersScore: 4.2/5 (131 votes)Converting numbers to text and vice versa is a common issue as it can be useful in many different situations and C++ d转载 2012-11-16 16:17:22 · 928 阅读 · 0 评论