博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C

problems about C or C++
摘要:转自:http://blog.csdn.net/zlaxr8888/article/details/4131897写出一个struct,然后sizeof,你会不会经常对结果感到奇怪?sizeof的结果往往都比你声明的变量总长度要大,这是怎么回事呢?讲讲字节对齐吧./******************************分割线如果体系结构是不对齐的,A中的成员将会一个挨一个存储,从而sizeof(a)为11。显然对齐更浪费了空间。那么为什么要使用对齐呢?体系结构的对齐和不对齐,是在时间和空间上的一个权衡。对齐节省了时间。假设一个体系结构的字长为w,那么它同时就假设了在这种体系结构上对宽度为 阅读全文

posted @ 2012-11-03 17:05 酸梅拯救地球 阅读(134) 评论(0) 推荐(0)

摘要:1.set 和multiset容器的内部结构通常由平衡二叉树(balanced binary tree)来实现。当元素放入容器中时,会按照一定的排序法则自动排序,默认是按照less<>排序规则来排序。这种自动排序的特性加速了元 素查找的过程,但是也带来了一个问题:不可以直接修改set或multiset容器中的元素值,因为这样做就可能违反了元素自动排序的规则。如果你希望修 改一个元素的值,必须先删除原有的元素,再插入新的元素。2.对于vector来说,每一次删除和插入,指针都有可能失效,调用push_back在尾部插入也是如此。因为为了保 证内部数据的连续存放,iterator指向的 阅读全文

posted @ 2012-11-01 21:46 酸梅拯救地球 阅读(139) 评论(0) 推荐(0)

摘要:strcpy和memcpy的区别strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。void *memcpy( void *dest, const void *src, size_t count );char * strcpy(char * dest, const c 阅读全文

posted @ 2012-06-16 10:26 酸梅拯救地球 阅读(200) 评论(0) 推荐(0)

摘要:原文出处:http://bennypan1980.blog.163.com/blog/static/87919823201011142433257/引言 一直以来都没有写过一篇关于概念性的文章,因为我觉得这些概念性的东西书本上都有并且说的也很详细写来也无用,今天突发奇想想写一写,下面就和大家讨论一下虚基类、虚函数与纯虚函数,一看名字就让人很容易觉得混乱。不过不要紧待看完本文后你就会理解了。正文 虚基类 在说明其作用前先看一段代码classA{public:intiValue;};classB:publicA{public:voidbPrintf(){cout<<"This 阅读全文

posted @ 2012-06-16 00:56 酸梅拯救地球 阅读(208) 评论(0) 推荐(0)

摘要:void GetMemory(char *p, int num){ p = (char*)malloc(sizeof(char) * num);}void Main(void){ char *str = NULL; GetMemory(str, 100); //其实这样出来的str还不为NULL strcpy(str, "Hello Word!"); //在运行时是错误的,这还会有一个问题“内存泄漏”,这个词大家肯定不陌生} 这是为什么呢!因为指针变量也是一样类型,而在GetMemory()参数传递时,只是把这个指针变量的值(地址)传递过去了。可以理解为指针 p 和 str 阅读全文

posted @ 2011-12-18 16:02 酸梅拯救地球 阅读(143) 评论(0) 推荐(0)

摘要:好记性当不得烂笔头 说的太对了 很多问题以前整过 后来没用基本都忘记了 最近发现指针太生疏了 重新瞎看了下1.指针访问是间接的,指针存储了一个地址,对于访问,先要取得自己的内容,然后利用*操作符取指向地址的内容。2.指针数组与数组指针<c程序设计语言>中的关于这个的解释:Newcomers to C are sometimes confused about the difference between a two-dimensional array and an array of pointers, such as name in the example above. Given 阅读全文

posted @ 2011-12-18 14:30 酸梅拯救地球 阅读(997) 评论(0) 推荐(0)