C++
xjianm
这个作者很懒,什么都没留下…
展开
-
static_cast, const_cast, dynamic_cast和reinterpret_cast
C++通过引进四个新的类型转换操作符克服了C风格类型转换的缺点,这四个操作符是, static_cast, const_cast, dynamic_cast, 和reinterpret_cast。在大多数情况下,对于这些操作符你只需要知道原来你习惯于这样写, (type) expression 而现在你总应该这样写: static_cast(expression) 例如,假设你想把转载 2013-07-10 16:58:41 · 766 阅读 · 0 评论 -
让你的C程序更有效率的10种方法
PS:原文翻译的有些地方不太确切,尤其是对于第7点static的使用的翻译容易引起误解,故稍做调整,如有妥之处,还请谅解!任何代码的美丽不仅在于找到一个给定的问题的解决方案,还在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。 本文向你介绍规范你的C代码的10种方法。 1. 避免转载 2015-05-08 19:30:27 · 456 阅读 · 0 评论 -
内联函数
1.宏是由预处理器对宏进行替代,内联函数是通过编译器控制来实现的2.预处理器是在真正的编译开始之前由编译器调用的独立程序,预处理器可以删除注释、包含其他文件以及执行宏替代3.我们可以用Inline来定义内联函数,不过,任何在类的内部定义的函数都会被自动的认为是内联函数原创 2013-11-14 15:43:31 · 622 阅读 · 0 评论 -
需要注意的地方
1.条件编译语句#if中不能使用sizeof,因为预处理器不对类型名进行分析。但预处理器并不计算#define语句中的表达式,因此,在#define中使用sizeof是合法的。原创 2013-08-20 21:38:02 · 521 阅读 · 0 评论 -
浅析C++中内存分配的方式
在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/ 静态存储区和常量存储区。栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个 delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回转载 2013-08-18 22:15:40 · 412 阅读 · 0 评论 -
#pragma 预处理指令详解
一、主要功能对每个编译器给出了一方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。二、命令格式#pragma para其中:para为命令参数。三、常见参数和意义3.1 message在编译信息输出窗口中输出相应的信息,这对于源代码信息的控制是非常重要的。其使用方法为:转载 2013-08-09 10:31:39 · 438 阅读 · 0 评论 -
static_cast 与reinterpret_cast
static_cast用法:static_cast ( expression )该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法: ①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成转载 2013-07-10 16:30:07 · 425 阅读 · 0 评论 -
string nops
The string class provides six search functions, each named as a variant of find. The operations all return astring::size_type value that is the index of where the match occurred, or a special value转载 2013-07-10 15:26:14 · 1464 阅读 · 0 评论 -
C++ 使用delete删除指针
众所周知,最开始我们用new来创建一个指针,那么等我们用完它之后,一定要用delete将该指针删掉。但是,值得注意的是,难道就仅仅是删除这个指针这么简单的么?下面,我们用一个程序来说明这个问题: #include02using namespace std;03转载 2013-07-10 17:35:12 · 29501 阅读 · 2 评论 -
C/C++刁钻问题各个击破之细说sizeof
摘要:Sizeof的作用非常简单:求对象或者类型的大小。然而sizeof又非常复杂,它涉及到很多特殊情况,本篇把这些情况分门别类,总结出了sizeof的10个特性:(0)sizeof是运算符,不是函数;(1)sizeof不能求得void类型的长度;(2)sizeof能求得void类型的指针的长度;(3)sizeof能求得静态分配内存的数组的长度!(4)sizeof不能求得动转载 2015-05-08 19:20:12 · 400 阅读 · 0 评论