C/C++
文章平均质量分 78
lonelywinter340
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中的异常处理(一)——C和C++中异常处理的区别
增强代码健壮性的最主要的途径就是增强程序的错误恢复能力,但是在实际编写程序时,人们往往会忽略程序的出错处理,就好像程序永远会在无错状态下运行一样。人们为什么会如此厌恶处理程序可能出现的错误,最主要的原因有两个:一是对程序的错误处理会导致程序代码量的增加,造成代码膨胀;二是这些错误处理的代码会大大降低代码的可读性。C语言中所采用的错误处理方法是一种所谓的紧耦合的方法,就原创 2007-10-26 16:03:00 · 1300 阅读 · 0 评论 -
C++中的异常处理(二)——抛出异常
上篇文章中我们简单了解了C和C++中异常处理的不同方式。显然C++中提供的异常处理的功能给我们的编程带来了很大的方便,让我们从处理错误的复杂逻辑中解脱出来,也让我们的代码更加清晰。从这篇文章开始我们就来具体介绍一下C++中的异常处理。一、抛出异常如果在程序代码中出现了一些异常情况, 程序员可以创建一个包含错误信息的对象并把它抛出当前语境,这种方法被称为“抛出异常”。 class原创 2007-10-26 17:53:00 · 1666 阅读 · 0 评论 -
C/C++中的可变参函数
C语言编程中有时会遇到一些参数个数可变的函数,例如printf()函数,其函数原型为:int printf( const char* format, ...);它除了有一个参数format固定以外,后面跟的参数的个数和类型是可变的(用三个点“…”做参数占位符),实际调用时可以有以下的形式:printf("%d",i); printf("%s",s); printf("the num转载 2008-11-14 10:18:00 · 2240 阅读 · 0 评论 -
C++中的四种类型转换
类型转换有c风格的,当然还有c++风格的。c风格的转换的格式很简单(TYPE)EXPRESSION; 但是c风格的类型转换有不少的缺点,有的时候用c风格的转换是不合适的,因为它可以在任意类型之间转换,比如你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换成指向一个派生类对象的指针,这两种转换之间的差别是巨大的,但是传统的c语言风格的原创 2008-11-14 10:27:00 · 2572 阅读 · 0 评论 -
《STL源码剖析》学习笔记1——stl_config.h中和编译器相关的一些宏定义的解释
标签:C,C++,STL,学习,笔记 在SGI STL 中的config.h文件中有一些宏定义,这些宏定义可能会让你感到困惑,其实它们的主要作用就是为了区分不同编译器对C++ Standard的支持程度。 1. __STL_STATIC_TEMPLATE_MEMBER_BUG# if __GNUC__ == 2 && __GNUC_MINOR__ # defi原创 2008-11-14 12:05:00 · 2210 阅读 · 1 评论 -
《STL源码剖析》学习笔记2——神奇的__type_traits
标签:C,C++,STL,学习,笔记 在STL中为了提供通用的操作而又不损失效率,我们用到了一种特殊的技巧,叫traits编程技巧。具体的来说,traits就是通过定义一些结构体或类,并利用模板类特化和偏特化的能力,给类型赋予一些特性,这些特性根据类型的不同而异。在程序设计中可以使用这些traits来判断一个类型的一些特性,引发C++的函数重载机制,实现同一种操作因类型不同而异的效果。原创 2008-11-14 12:17:00 · 2700 阅读 · 0 评论 -
《STL源码剖析》学习笔记3——内存配置器alloc
标签:C,C++,STL,源码,学习,笔记,内存,配置器 虽然STL的内存配置器在我们的实际应用中几乎不用涉及,但它却在STL的各种容器背后默默做了大量的工作,STL内存配置器为容器分配并管理内存。统一的内存管理使得STL库的可用性、可移植行、以及效率都有了很大的提升,因此STL内存配置器是STL库中最重要的组成部分之一。 1、Constructor和Destroy 我原创 2008-11-15 10:32:00 · 2205 阅读 · 0 评论 -
《STL源码剖析》学习笔记4——迭代器(Iterator)
标签:STL,源码,iterator,迭代器,traits,容器,算法,Container,Algorithm STL设计的精髓在于,把容器(Containers)和算法(Algorithms)分开,彼此独立设计,最后再用迭代器(Iterator)把他们粘合在一起。可见迭代器在STL中的重要程度。迭代器已经作为一种设计思想被记录与《设计模式》中,它的意图在于“提供一种方法顺序访问一个聚原创 2008-11-18 18:42:00 · 4006 阅读 · 2 评论 -
Windows Socket五种I/O模型(一)——选择模型(Select)
如果你想在Windows平台上构建服务器应用,那么I/O模型是你必须考虑的。Windows操作系统提供了选择(Select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion Port)共五种I/O模型。每一种模型均适用于一种特定的应用场景。程序员应该对自己的应用需求非常明确,而且综合考虑转载 2008-11-22 23:19:00 · 4166 阅读 · 0 评论
分享