C/C++
文章平均质量分 76
Joey_ZengChen
一只在IT界努力挣扎,试图为这个行业做出一点点,一点点,真的是那么一点点贡献的老菜鸟……
展开
-
C/C++中的字符串
最近开始学习数据结构,于是写了一个String类型,用的是C++。其中定义了一个私有变量const char *str用来存储字符串。 不免得做一些字符串的管理,这里把我的认识与理解记下来:在C中,字符串是以一种字符数组的形式存储的,比如说"Hello World!"在内存中的存储方式就是开辟了一段12 + 1个字节长的内存,顺序存储。值得注意的是,在字符的结尾,C会默认给这段字符加上一个标原创 2006-12-29 13:46:00 · 1974 阅读 · 0 评论 -
C++中函数返回值的设计
今天生病了,23岁的第一天居然发烧了,坐在办公室也不想干什么活了.正好昨天同事问了我一个关于函数返回值得问题,所以趁着会没事将我对函数返回值的设计的理解记下来. 在C++中,函数的返回值大概分为这么三种:1、内置类型,类类型,结构体等等。2、指针。3、引用。对于第一种,大家都很熟悉。在C++中是按值传递各种参数,返回值的,所以,第一种很好理解,也一般不会出什么大问题。但是第一种返回值得一个原创 2006-12-30 11:17:00 · 3784 阅读 · 2 评论 -
C/C++中的临时变量
说到临时变量,我们大家也许都挺熟悉, 但是我自己对临时变量的理解却一直存在一个误区。通常情况下,我会把为了做某一件事情而临时创建的一个变量叫做临时变量。比如说在交换两个变量的值时,通常我们会创建第三个变量来达到我们最终的目的,而我们称之为“临时变量”。然而,大师Scott Meyers告诉我们,事实不是这么简单!在C/C++中,真正意义上的临时变量是看不见的,就是说它们不会出现在你的代码中,参原创 2007-04-16 16:29:00 · 5281 阅读 · 0 评论 -
MS不按套路出牌——Visual Studio 2005中的set_unexpected
读到《More Effective C++》 中这一条Item 14: Use exception specifications judiciously.的时候,打开VS操作了一下,因为以前没有用过set_unexpected,所以想看看到底如何神奇。写了下面一段程序:void ThrowExp(){ throw string("Error");}void DoSomething() t原创 2007-04-13 11:04:00 · 1637 阅读 · 0 评论 -
Sealing Classes in C++ ---- by Francis Xavier
IntroductionSome recent languages like C# and Java allow you to seal your classes easily using a keyword like sealed or final respectively. C++ doesnt have any such keyword for this purpose. Howeve转载 2007-11-30 11:21:00 · 812 阅读 · 0 评论 -
递归输出一组元素的排列组合方式
第一种,输出N个不同元素的所有排列组合,比如{a, b, c}的排列方式有:abc, acb, bac, bca, cab, cba。void Perm(string str, string insert = ""){ if(1 == str.length()) { cout return; } else { for(int index = 0; index { Swap(st原创 2008-01-15 15:17:00 · 1220 阅读 · 0 评论 -
可惜:Visual Studio暂不支持export关键字
在C++中,如果想用分离模式来编译一个模板类,就必须把类或者方法声明为可导出的——用关键字export来实现,非常遗憾的发现在Visual Studio中,不支持对export 的使用。如果强制使用,会在编译的时候发出警告,并有其他怪异的编译错误出现,唉,可惜~原创 2008-01-18 21:47:00 · 1124 阅读 · 0 评论