4 迭代器 ~~~~~~~~~ 现标准STL容器提供了四种不同的迭代器: * iterator * const_iterator * reverse_iterator * const_reverse_iterator 4.1 尽量用iterator代替const_iterator,reverse_iterat
3 关联容器 ~~~~~~~~~~~ 3.1 了解相等和等价的区别 ========================= 1. find对“相同”的定义是相等,基于operator==。set::insert对“相同”的定义是等价,通常基于operator<(!w1<w2 && !w
2 vector和string ~~~~~~~~~~~~~~~~~ 2.1 尽量使用vector和string来代替动态分配的数组 =============================================== 1. string可能使用了引用计数,这时在多线程环境下你可能发现避免分配和拷贝所节省下的时间都花费在后台并发控制上了.(stri
1 容器 ~~~~~~~ 1.1 仔细选择容器 ================= 1. C++中的容器回顾 * 标准STL序列容器: vector、string、deque和list。 &
8 定制new和delete ~~~~~~~~~~~~~~~~~~ 8.1 了解new-handler的行为 ========================== 1. 当opeartor new无法满足某一内存分配需求时,它会抛出异常.在这之前,它会先调用一个客户指定的错误处理函数,所谓的new-handler 2. 用户必须
6 设计与面向对象设计 ~~~~~~~~~~~~~~~~~~~~~ 6.1 确定public继承表达的是is-a关系 =================================== 1. 所谓is-a的关系不是指语言中的关系(比如鲸鱼是鱼,正方形是一种长方形等等),它要求能够施行于base class对象身上的每件事情,都可以施行于derived
5 实现 ~~~~~~~ 5.1 尽量少做转型动作 ===================== 1. static_cast类似旧式转型,用来强制隐式转换,但它不能将const转换为non-const,这个只有const_cast能办到. 2. 许多人相信,转型其实什么都没做,只是告诉编译器把某种类型视为另一种类型.这是错误的,
看了《Effective C++》中提到的TR1::shared_ptr,觉得很有用,就想尝试自己实现一个。一开始的想法很直接,就是两个模板参数一个代表所持有的指针类型,一个代表销毁资源的函数类型,默认为delete操作,于是有了第一个版本 #ifndef SHARE_PTR_H_INCLUDED #define SHARE_PTR_H_
4 设计与声明 ~~~~~~~~~~~~~ 4.1 让接口容易被正确使用,不易被误用 ==================================== 1. 许多客户端错误可以因为导入新类型而获得预防. 一旦使用了新类型,限制其值就顺其自然了. 2. 任何接
3 资源管理 ~~~~~~~~~~~ 3.1 以对象管理资源 =================== 1. 标准程序库提供的auto_ptr,其析构函数自动对所指对象调用delete. auto_ptr<T> pT(new T()); 2. 由于auto_p
2 构造/析构/赋值运算 ~~~~~~~~~~~~~~~~~~~~~ 2.1 了解C++默认编写并调用哪些函数 ================================== 1. 如果自己没有声明,编译器会自动声明一个copy构造函数,一个copy assignment操作符和一个析构函数. &nb
1 让自己习惯C++ ~~~~~~~~~~~~~~~~ 1.1 尽量以const,enum,inline替换#define ========================================= 1. 用宏写出的函数,最好用template inline函数代替 1.2 尽可能用const ================== &
在学习C++的map的时候,写了一段代码 #include <iostream> #include <map> using namespace std; &nb
C语言学习——宏 1、# #运算符用于创建字符串,#运算符后面跟一个形参(中间可以有空格或Tab),只能用于函数式宏定义 #define STR(s) $ s STR(hello world) //=="hello world" 自动用"把实参括起来成为一个
1. lua中的table,类似于javascript中的Array(数组,同时也是Object,可以当Map用) address={1,2,3} address.Street="Wyman Street" address.Contry="USA" print(address.Street,address["
转载至http://coolshell.cn/articles/7526.html Lisp之魅 长久以来,Lisp一直被许多人视为史上最非凡的编程语言。它不仅在50多年前诞生的时候带来了诸多革命性的创新并极大地影响了后来编程语言的发展,即使在一大批现代语言不断涌现的今天,Lisp的诸多特性仍然未被超越。当各式各样的编程语言摆在面前,我们可以从运行效率、学习曲线、社区活跃度、厂商支持等多种不同
一、MQI的基本数据类型 数据类型 说明 MQBYTE
perl入门  
python网络编程基础  
* Note 1. 数字、字符串和元组是不可变的;列表和字典是可变的 2. 可作用于多种类型的通用型操作都是以内置函数或表达式的形式出现的;但是类型特定的操作是以方法调用的形式出现的。 3. 方法也是函数属性 4. 可以调用内置的dir函数,将会返回一个列表,其中包含了对象的所有属性(方法也是属性) 5. dir函数简单地给出了方法的名称。查询他们做什么,可以传递给help函
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号