[2]语言实践方法
sunhuiyong
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
智能指针的标准之争
<br />2001 年10 月和2002 年4月,在美国的华盛顿和荷兰的安的列斯群岛上分别召开了两次C++标准会议。会议的内容之一是对一项新的C++特性提议——智能指针(SmartPointer)——进行讨论。本文将对可能成为C++新标准的两种智能指针方案(Boost vs.Loki)进行介绍和分析,并给出了相应的使用实例。<br /><br />关键词:智能指针 C++ Boost Loki<br /><br /> 在现在的标准C++中,只有一种智能指针:std::auto_p转载 2010-09-11 17:20:00 · 159 阅读 · 0 评论 -
基于vs2008,XP+SP2平台的变量内存分配探究
首先必须强调的事,所验证或探究出来的事实,都是平台相关的,并不具备普遍性。1)全局变量和静态变量 全局变量(无论是否是自定义)的内存分配是在编译期间就确定的。在程序装入内存时分配好。对于基础类型,内存会被初始化为0;对于自定义类型,在C++运行时库启动代码未执行到调用其构造函数前,也是为0状态。当执行以后,就对这块内存做了相应的初始化。 对于静态变量,情况有些特殊了。我们知道,编译器是分单元进行编译,之后再链接生成dll或exe文件。一个cpp文件对应一个编译单元。当编译器在编译一个单元的时原创 2010-11-18 15:02:00 · 302 阅读 · 0 评论 -
内部链接与外部链接
<br />在C++语言中经常会出现多个重名符号的链接错误,或找不到符号的链接错误。以前一直没有深究,今天在网上看到一篇文章,获益量多。现转载如下:<br /> 《内部连接与外部连接》<br />作者Blog:http://blog.youkuaiyun.com/SpitFire/<br />在说内部连接与外部连接前,先说明一些概念。1.声明<br /> 一个声明将一个名称引入一个作用域;<br /> 在c++中,在一个作用域中重复一个声明是合法的 以下都是声明: in转载 2010-11-17 17:08:00 · 222 阅读 · 0 评论 -
关于RTTI----基于C++
RTTI是属于比较晚加到C++语言中的特性,Microsoft Visual C++编译器提供了可选的开关(/GR)方便开发者选择是否使用这个特性。除了后来新添加的在编译器上提供的对RTTI的支持之外,有些第三方的库也提供了对RTTI支持方面的软件上的实现,最典型的例子就是MFC中的CRunTimeClass类的引入。其实,要从软件上实现RTTI特性是相当简单的,这点可以借助于C++的另一语言特性——多态来实现。或许正因为如此,对于当初时候引入语言特性的RTTI,标准委员会才会如此纠结。此外,引原创 2010-11-16 17:03:00 · 345 阅读 · 0 评论 -
以boost::function和boost:bind取代虚函数
<br />以boost::function和boost:bind取代虚函数 <br /><br />这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上去就下不来了”,而借助boost::function和boost::bind,大多数情况下,你都不用上贼船。<br />boost::function和boost::bind已经纳入了std::tr1,这或许是C++0x最值得期待的功能,它将彻底改变C++库的设计方式,以及应用程序的编写方式。<br />Scott Meyers的Effectiv转载 2010-09-29 18:03:00 · 149 阅读 · 0 评论 -
以boost::function和boost:bind取代虚函数
<br />以boost::function和boost:bind取代虚函数 <br /><br />这是一篇比较情绪化的blog,中心思想是“继承就像一条贼船,上去就下不来了”,而借助boost::function和boost::bind,大多数情况下,你都不用上贼船。<br />boost::function和boost::bind已经纳入了std::tr1,这或许是C++0x最值得期待的功能,它将彻底改变C++库的设计方式,以及应用程序的编写方式。<br />Scott Meyers的Effe转载 2010-09-29 18:03:00 · 164 阅读 · 0 评论 -
构造一个3维矩阵
<br />#include <stdio.h><br />#include <stdlib.h><br /><br />void* malloc3d( int w, int h, int d, int size )<br />{<br /> int j, k;<br /> void ***a = (void***) malloc( d*sizeof(void**) + h*d*sizeof(void*) + w*h*d*size );<b转载 2010-09-08 15:50:00 · 342 阅读 · 0 评论 -
关于移位操作的实验
实验平台:winXP+VC6.0左移(《),右移(》)操作符适用于int 、long、short、char及相应的无符号整型结论:1,有符号:内存中以补码形式存在,然后针对二进制补码执行相应的移位操作 对于正整数(》):左边补0 对于负整数(》):左边补1 对于正整数(《):右边补0 对于负整数(《):右边补02,无符号:移就是了。。原创 2010-09-08 14:13:00 · 252 阅读 · 0 评论 -
对象类型的转换
<br />http://www.cplusplus.com/doc/tutorial/typecasting/转载 2010-09-07 14:36:00 · 158 阅读 · 0 评论 -
Converting numbers to strings and strings to numbers
<br />Converting numbers to text and vice versa is a common issueas it can be useful in many different situations and C++ doesn'tprovide a tool designed specifically to solve this problem.<br />Luckily C++ is a general purpose language so it allows t转载 2010-09-07 10:05:00 · 163 阅读 · 0 评论
分享