2014年1月26日

摘要: 前言 容器是指容纳特定类型对象的集合。顺序容器则是指该容器根据位置访问保存在其中的对象。Vector,List,Deque是三种常见的容器,本文将归纳这三种容器常用的函数,以备日后查阅。描述符说明 在以下函数解释中,C 表示容器类型名,T表示容器的元素类型,c 表示待创建的/待处理的容器对象,其它描述符则在文中具体位置说明。一 容器定义函数 1. C c 创建一个空的容器 c 2. C c( c2 ) 用 容器c2 创建 容器c 3. C c( b, e ) 用 迭代器 b 和 e 之间的元素创建容器 c。 下函数4,5仅用于顺序容器: 4. C c( n, t ) 创建... 阅读全文
posted @ 2014-01-26 17:32 空山悟 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 前言 字符串流对象有个很实用的功能就是格式转换。比如可以将整数类型的123转换成字符串格式的123,或者反过来。那么具体又是如何实现的?且看下文。实现思路 对于整数转换成字符串格式,可设s是一个空的字符串流对象,” 整型变量 “存放目标整数。则当执行" s > 整型变量 “。此后该整型变量既是目... 阅读全文
posted @ 2014-01-26 09:46 空山悟 阅读(401) 评论(1) 推荐(0) 编辑
摘要: 前言 本文分析两个经典的C++文件IO程序,提炼出其中文件IO的基本套路,留待日后查阅。程序功能 程序一打印用户指定的所有文本文件,程序二向用户指定的所有文本文件中写入数据。程序一代码及其注释 1 #include 2 #include // 使用文件处理对象记着要包含这个头文件 3 #include 4 #include 5 6 using namespace std; 7 8 int main() 9 {10 /*11 * 获取用户需要打开的所有文件名,将其保存在顺序容器files中。12 */13 string filename;14... 阅读全文
posted @ 2014-01-26 09:36 空山悟 阅读(970) 评论(0) 推荐(0) 编辑

2013年10月29日

摘要: 前言 你是否遇到过以下情况? 情况一:为了调试方便,代码中夹杂各种cout语句。当调试好了,把这些语句删了,运行“正式版”后,又发现新问题,只得把这些cout语句一个个添加回去再进行调试。如此不断循环。 情况二:希望在代码中获取到源文件的文件名,当前代码行号,编译时间等信息。 情况三:纠结于... 阅读全文
posted @ 2013-10-29 20:47 空山悟 阅读(286) 评论(0) 推荐(0) 编辑

2013年10月17日

摘要: 前言 对于隐式转换,想必你已经了解了算数转换中的“ 向上对齐 ”的概念;了解了赋值隐式转换的规律( 右值类型转换为左值类型 )。但C++中的隐式转换远不止这些,本文就将告诉你一些容易被忽略,但事实上发生了的隐式转换。一 数组转换为指针 在许多情况下,数组都隐式转换为了指针。取数组元素的过程就是根据首元素和元素序号以及元素大小到指定位置取值;数组作为函数参数传递给函数的过程中也转换成了指向首元素的指针。当然,在一些其他的场合,隐式转换未必发生,比如sizeof( 数组 )就不会隐式转换为sizeof( 指针 )。二 逻辑判断中其他变量向布尔类型隐式转换 if ( p ), while ( ... 阅读全文
posted @ 2013-10-17 21:31 空山悟 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 前言 new和delete是C++中用来动态管理内存分配的运算符,其用法较为灵活。如果你对它们的几种不同用法感到困惑,混淆,那么接着看下去吧。功能一:动态管理单变量/对象空间 下面例子使用new为单个变量/对象开辟空间:1 // 创建一个指向整型元素的指针pi,其所指对象为整数100。2 int *pi = new int(100); 3 4 // 创建一个指向字符串元素的指针ps,其所指对象为字符串"ssssssssss"。5 string *ps = new string(10, 's'); 对于开辟的单变量/对象空间,我们只能通过new操作符返回的指针 阅读全文
posted @ 2013-10-17 20:48 空山悟 阅读(2629) 评论(0) 推荐(0) 编辑

2013年10月16日

摘要: 前言 阅读C++教材时,想必你听过复制初始化,直接初始化,值初始化这三个概念吧。笔者本人常将其混淆,遂在此记录下它们的具体含义以便日后查阅。复制初始化( copy-initialization ) 复制初始化使用 = 对变量进行初始化直接初始化( direct-initialization ) 直接初始化用把初始化式子放到括号中的方式对变量进行初始化值初始化( value-initialization ) 值初始化和上面两种初始化是不同的概念。上两种初始化说明的是“ 用什么样的语法格式来初始化变量 ",而值初始化不但要说明“ 用什么样的语法格式来初始化变量 "( C++中用 阅读全文
posted @ 2013-10-16 15:21 空山悟 阅读(1168) 评论(0) 推荐(0) 编辑

2013年9月17日

该文被密码保护。 阅读全文
posted @ 2013-09-17 22:31 空山悟 阅读(1) 评论(0) 推荐(0) 编辑

2013年9月11日

摘要: 本章大意 本章大略地介绍了计算机网络的环境以及网络编程的基本模式;UNIX的历史;UNIX接口的标准;细节摘录 1. 服务器和客户程序通常是用户进程,而TCP和IP协议通常是内核中协议栈的一部分。 2. 在Ipv6逐渐普及的未来,程序的协议无关性很重要。 3. 使用包裹函数可以很有效地简化代码。 4. 每当一个套接字函数需要一个指向某个套接字地址结构的指针时,这个指针必须强制转换成一个指向通用套接字地址结构的指针。 5. TCP本身并不提供记录结束标志,如果应用程序需要确定记录的边界,它( 应用程序 )就要自己去实现。 6. 只要一个Unix函数中有错误发生,全局变量errno就... 阅读全文
posted @ 2013-09-11 16:46 空山悟 阅读(143) 评论(0) 推荐(0) 编辑

2013年9月9日

摘要: 前言 首先切记一点:如果你和我一样使用ubuntu的目的是学习操作系统和Unix网络编程等,那么学习环境搭建好了以后切不要随意更新软件。否则系统崩溃,你又得重新配置各种环境,有多麻烦你懂的。 万一你像我之前一样手贱点了软件升级导致系统崩溃了,请不要花太多时间在网上搜索怎样挽回,直接重装吧。网上,... 阅读全文
posted @ 2013-09-09 16:25 空山悟 阅读(245) 评论(0) 推荐(0) 编辑

导航