ZT extern "C"的用法解析
摘要:extern "C"的用法解析1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构? #ifndef __INCvxWorksh #de
阅读全文
posted @
2014-01-13 15:44
jeans chen
阅读(239)
推荐(0)
ZT C/C++变量命名规则,个人习惯总结
摘要:C/C++变量命名规则,个人习惯总结(2012-10-31 13:48:10)转载▼标签:c/c变量命名规则c语言变量命名c变量命名规则规范it分类: C/VCC_C++变量命名规则变量命名规则是为了增强代码的可读性和容易维护性。以下为C++必须遵守的变量命名规则:1、 变量名只能是字母(A-Z,a-z)和数字(0-9)或者下划线(_)组成。2、 第一个字母必须是字母或者下划线开头。3、 不能使用C++关键字来命名变量,以免冲突。4、 变量名区分大小写。 变量命名规则:一、 用最短字符表示最准确的意义。二、 使用变量前缀。1、 整型前缀int nId; //int前缀:nshor...
阅读全文
posted @
2014-01-06 14:10
jeans chen
阅读(279)
推荐(0)
ZT 针对接口编程而不是针对实现编程
摘要:java中继承用extends 实现接口用 implements针对接口编程而不是针对实现编程2009-01-08 10:23 zhangrun_gz | 分类:其他编程语言 老听说这句,不知道到底要怎么理解。也查了不少资料,还是难以驾驭,有高手给讲解下(越详细越好)。谢谢。为什么都不说说针对实现编程呢?首先你要清楚什么是接口。接口就是标准。生活中有很多接口。如水龙头水管接口、电源接口等。现在有很多的水龙头生产商,在采用接口之前,厂商要同时提供水龙头和下水管,它们是一体的,不能变更。同时也只适用于他的这一种产品。而有了接口之后,厂商就就不用去管它的下水管如何设计了,只用安装接口标准来生产水龙.
阅读全文
posted @
2014-01-03 15:32
jeans chen
阅读(597)
推荐(0)
ZT SAFE_DELETE
摘要:SAFE_DELETE 分类: c/C++ 2008-10-14 14:26 706人阅读 评论(2) 收藏 举报delete文本编辑nullflash破解加密我发现学程序大家差不多都有相似的地方,当一个人从这个地方摔倒的时候,后续总是不断的有人摔摔的,从论坛的提问就能看出来,因为自己学习的时候是 每一一个人带的情况下,独自研究c++,现在仍然记得做c++的第一个星期,每写一句代码都要查一下资料,搜索一下网络,差不多写三句代码都要查半天的痛 苦了,好的是用了一个多月的时间,c++实现了入门,写出了完成端口,视频,Flash加密,破解了别人一个带有数学公式和化学公式的超文本编辑器,呵 呵,...
阅读全文
posted @
2014-01-03 11:19
jeans chen
阅读(223)
推荐(0)
ZT 初始化 const 成员和引用类型成员(C++)
摘要:初始化 const 成员和引用类型成员(C++) 初始化 const 成员和引用类型成员的问题,在 C++ 教材中讲述初始化列表的章节应该都有讲过,但是因为平时用得少,所以可能有不少人没注意到。待到用时又觉得一头雾水,摸不着头脑。 初始化 static const 成员, 也就是全局的静态常量,这个用到的情况比较多,想必大家都会。通常就是在类的定义中申明 static const 成员,然后在实现文 件中赋予初始值,比如: /* (#) Test.h */ #pragma once class Test { p...
阅读全文
posted @
2013-12-16 11:02
jeans chen
阅读(308)
推荐(0)
C/C++中构造函数和析构函数能否被继承
摘要:http://bbs.csdn.net/topics/390160673标准方面做了要求的。Eventhoughdestructorsarenotinherited构造函数和析构函数是不能被继承的
阅读全文
posted @
2013-12-02 16:42
jeans chen
阅读(689)
推荐(0)
实验验证stack和heap中是否被设初值
摘要:#include #include using namespace std;class Foo{public:int i;float f;char *cp;};int main(){Foo f1;if(f1.cp == 0) cout cp == 0) cout i f cp <<endl;return 0;}/work/ctest/insideTheC++ObjectModel$ ./1770374040 4.55997e-41 H�l$�L�d$�H�- in heap,pf.cp is null 0 0
阅读全文
posted @
2013-12-02 16:10
jeans chen
阅读(172)
推荐(0)
(转)sizeof()和_countof()
摘要:(转)sizeof()和_countof()先看程序:#include using namespace std; int main(int argc, char* argv[]){ char *a = "abcde"; char sz1[] = "abc"; char sz2[] = {"abc"}; char sz3[] = { 'a', 'b', 'c' }; printf_s( "%d %d %d %d", _sizeof(a), _countof(sz1),
阅读全文
posted @
2013-11-21 16:03
jeans chen
阅读(658)
推荐(0)
ZT c++ 中的重载全局new,delete
摘要:c++ 中的重载全局new,delete 分类: c++ 2010-08-06 10:31 116人阅读 评论(1) 收藏 举报deletec++file编译器语言工作最近做一个小项目,对c++又有很多新的理解。实在不的不让人发出感叹,c++太强大了,绝对不是一朝一夕就可以领悟她的内涵的。首先我们要清楚,为什么我们要重载new,和delete了?这还不是指针造成的,确实指针是一件让人喜欢的东西,用起来如此让人喜欢,让人顺手。然而小程序我们完全可以避免内存泄露问题,大程序就不那么容易了,然而我们有一种特别好的方法可以跟踪我们new,和delete动作,找到未被释放的内存。办法是什么呢?微软...
阅读全文
posted @
2013-11-15 17:36
jeans chen
阅读(391)
推荐(0)
林锐:5 C++/C程序的基本概念
摘要:5.1.1main不能重载不能内联不能定义为static不能取其地址不能由用户直接调用5.1.3内部名称struct Sample_1{int count;};struct Sample_2{int count;};区分两个struct的同名成员count:“通过它们各自的对象和成员标识符就可以区分”,但是这只是源代码级或者说是形式上的区别。对于语言来说,这两个同名成员代表两块不同的内存单元,而名字则是引用这两块内存单元的别名,因此为了区分开不同的内存单元就必须区分开他们的别名。否则连接时就会导致二义性,解决的办法就是Name-Mangling(在他们面前分别添加所属的类型的名称作为前缀,如_
阅读全文
posted @
2013-11-05 15:48
jeans chen
阅读(216)
推荐(0)
林锐书:写一个hello world by seasoned professional
摘要:#include #include using namespace std;class String{private: int size; char *ptr;public: String():size(0),ptr(new char('\0')) { cout #include using namespace std;class String{private: int size; char *ptr;public: String():size(0),ptr(new char('\0')) { cout << "default\n"
阅读全文
posted @
2013-11-04 18:07
jeans chen
阅读(440)
推荐(0)
C 中重载一词中的“重”字读ZHONG4还是CHONG2?
摘要:in my opinion:overload: 重zhong4载override overwrite:覆盖,改写,重写。//csdn上有人问过,没有overwrite这个词 http://bbs.csdn.net/topics/390706434C 中重载一词中的“重”字读ZHONG4还是CHONG2?我来帮他解答2009-1-5 08:54满意回答无论是override还是overwrite 都是 重新或者覆盖的意思,因此读作 chong2.本来就是外国人设计的,所以最好按照英文来理解
阅读全文
posted @
2013-11-04 10:48
jeans chen
阅读(550)
推荐(0)
ZT C++ 重载、覆盖和隐藏的区别
摘要:重载、覆盖和隐藏的区别 分类: C++ 学习笔记 学习心得与方法 2013-09-26 11:21 50人阅读 评论(0) 收藏 举报概念区分“overload”翻译过来就是:超载,过载,重载,超出标准负荷;“override”翻译过来是:重置,覆盖,使原来的失去效果。 先来说说重载(Overload)的含义,在日常生活中我们经常要清洗一些东西,比如洗车、洗衣服。尽管我们说话的时候并没有明确地说用洗车的 方式来洗车,或者用洗衣服 的方式来洗一件衣服,但是谁也不会用洗衣服的方式来洗一辆车,否则等洗完时车早就散架了。我们并不要那么明确地指出来就心知肚明,这就有重载的意思了。在 同一可访问区...
阅读全文
posted @
2013-11-04 10:39
jeans chen
阅读(557)
推荐(0)