test1
原文发表于2009年2月5日 标题是《一个自己犯的C/C++错误》 以前自己写程序时经常犯的错误,后来才开始重视起来,为了更好的说明这个错误,我将演示代码贴出来: 可以看出,表面上这个错误是关于在函数内部将传参指向的缓冲区清零的,调试上述程序后发现主函数里定义的缓冲区被全部成功设置为0,而将这个缓冲区地址传入函数func_test后只有前4个字节被置0,那么问题出在哪里呢?问题就在sizeof上,在主函数上sizeof算得缓冲区为11(包含字符串结尾\0),而函数func_test里算得是4,很明显只是计算的指针的大小。 疑惑就在这里,buffer是数组名不就是地址吗,为什么传参后sizeof值就不算整个数组的大小而只算指针的大小呢? 其实这个问题很容易buffer是数组名,sizeof(数组名)算得的是整个数组占用的字节数,一旦赋值给任何指针(函数传参也相当于一种赋值),也就算的是这个指针的占用空间,和数组就没任何关系了。若还是算的事数组占用空间,那这个指针的占用就没办法计算了
python 是一个很有弹性的语言,可是弹性也意味着,完成一件事情会有很多方法。这篇文章介绍产生产生 dict 与 type object 的方法。注意,以下讨论都是未**化的情形
原文发表于2009年2月5日 标题是《一个自己犯的C/C++错误》 以前自己写程序时经常犯的错误,后来才开始重视起来,为了更好的说明这个错误,我将演示代码贴出来: 可以看出,表面上这个错误是关于在函数内部将传参指向的缓冲区清零的,调试上述程序后发现主函数里定义的缓冲区被全部成功设置为0,而将这个缓冲区地址传入函数func_test后只有前4个字节被置0,那么问题出在哪里呢?问题就在sizeof上,在主函数上sizeof算得缓冲区为11(包含字符串结尾\0),而函数func_test里算得是4,很明显只是计算的指针的大小。 疑惑就在这里,buffer是数组名不就是地址吗,为什么传参后sizeof值就不算整个数组的大小而只算指针的大小呢? 其实这个问题很容易buffer是数组名,sizeof(数组名)算得的是整个数组占用的字节数,一旦赋值给任何指针(函数传参也相当于一种赋值),也就算的是这个指针的占用空间,和数组就没任何关系了。若还是算的事数组占用空间,那这个指针的占用就没办法计算了
原文发表于2009年2月5日 标题是《一个自己犯的C/C++错误》 以前自己写程序时经常犯的错误,后来才开始重视起来,为了更好的说明这个错误,我将演示代码贴出来: 可以看出,表面上这个错误是关于在函数内部将传参指向的缓冲区清零的,调试上述程序后发现主函数里定义的缓冲区被全部成功设置为0,而将这个缓冲区地址传入函数func_test后只有前4个字节被置0,那么问题出在哪里呢?问题就在sizeof上,在主函数上sizeof算得缓冲区为11(包含字符串结尾\0),而函数func_test里算得是4,很明显只是计算的指针的大小。 疑惑就在这里,buffer是数组名不就是地址吗,为什么传参后sizeof值就不算整个数组的大小而只算指针的大小呢? 其实这个问题很容易buffer是数组名,sizeof(数组名)算得的是整个数组占用的字节数,一旦赋值给任何指针(函数传参也相当于一种赋值),也就算的是这个指针的占用空间,和数组就没任何关系了。若还是算的事数组占用空间,那这个指针的占用就没办法计算了
构造函数就是当一个对象创建的时候,自动调用的函数,那么与之对应的就是析构函数。析构函数就是当一个对象将被销毁的时候,自动调用的函数。 类point_t的析构函数的声明如下: 析构函数是一个特殊的成员函数,和构造函数相对应