![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c/c++
Yingmg
这个作者很懒,什么都没留下…
展开
-
一个二级指针引发的问题
二级指针也就是指向指针的指针。如:char **p = NULL;。p就是一个二级指针——它是一个指向char *类型变量的指针。我们来看下面这个小例子,它对吗。char **p = NULL;char c = 'a';*p = &c;就这短短几行代码,大家一般都会看出有问题,但是代码量一长,难免犯晕,我就晕过一次,不知道你晕过没。没有看出有问题,也不要紧,让过来人告诉你:问题出在代码的第三行,我们虽然定义了二级指针p,它也的确指向一个char *类型变量[也即*p是char *类型的],那么是不是原创 2011-03-25 14:33:00 · 986 阅读 · 0 评论 -
strcpy函数
先看看strcpy函数是如何定义的吧:char *strcpy(char *strDest, const char *strSrc){ assert((strDest!=NULL) && (strSrc!=NULL)); char *address = strDest; while( (*strDest++ = *strSrc++) != ‘/0 ) NULL ; return address ; } 这个函数采用了一个高效的写法来处理赋原创 2011-03-25 12:30:00 · 871 阅读 · 0 评论 -
C++箴言:谨慎使用模板元编程
template metaprogramming (TMP)(模板元编程)是写 template-based(基于模板)的运行于编译期间的 C++ 程序的过程。考虑一下:一个 template metaprogram(模板元程序)是用 C++ 写的运行于 C++ 编译器中的程序。当一个 TMP 程序运行完成,它的输出——从 templates(模板)实例化出的 C++ 源代码片断——随后被正常编译。 如果你仅把它看作古怪的特性而没有打动你,那你就不会对它有足够的深入的思考。 C++ 并不是转载 2011-04-04 13:19:00 · 1167 阅读 · 0 评论