
C++
文章平均质量分 86
devilkin64
这个作者很懒,什么都没留下…
展开
-
const和static的使用
<br /><br /> const和static的使用<br /><br /> 使用const。<br /> 这一点在很多经典的关于C 和C++的书籍中是必谈的要点。在《Exceptional C++》一书中,对这点有很精彩的描述,现摘录如下:“没有正确的安全意识的枪手在世界上是不可能活的很长的。const 观念不正确的程序员也是一样和没有时间戴紧帽子的正确,没有时间检查带电电线的电工一样不会活的很长。”在C 语言中,const 修饰符表示告诉编译器此函数将不会改变被修饰的变量的指向的任何值转载 2010-09-09 10:18:00 · 422 阅读 · 0 评论 -
实现strcpy函数(转)
<br />题目: <br /> 已知strcpy函数的原型是: <br /> char * strcpy(char * strDest,const char * strSrc); <br /> 1.不调用库函数,实现strcpy函数。 <br /> 2.解释为什么要返回char *。 <br /><br /> 解说: <br /> 1.strcpy的实现代码<br /> char * strcpy(char * strDest,const char原创 2011-02-13 23:42:00 · 463 阅读 · 0 评论 -
C++复习
1. 什么是多态?多态分为两种, 一种是由重载产生的多态, 如函数重载, 运算符重载, 另一种为继承多态, 是由派生子类的不同实现产生的多态.网上有将上面分为两种编译时多态和运行时多态.我的理解是无论是函数重载和运算符重载都是编译期就决定调用哪个的. 运行时多态的实现为具体调用时才能确定, 其在C++中由虚函数机制来体现.原创 2011-02-13 22:28:00 · 437 阅读 · 0 评论 -
WK面试题分析
1. 一只羊爬坡,一分钟爬3米,然后掉两米. 60米的坡爬多久?2. 代码找问题:void addr(){int k;k=0;point=&k;}void loop(){int i,j;for(i=0;i{(*p)++;j++;};}void main(){int *point;addr();loop();}3.已知单链表 struct node p*(不知道表头), 怎样删除该单链表?4. 写出一个宏, 求结构体中 struct A 中 b的偏移字节数?5. IP 头包括哪些字段?6.原创 2011-02-27 21:27:00 · 700 阅读 · 0 评论 -
const 完整使用规则
<br />看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。<br />const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书籍建议:“Use const whenever you need”。<br />1.用con转载 2010-11-11 23:38:00 · 509 阅读 · 0 评论 -
C/C++静态成员变量和静态成员函数
C中的静态变量和静态函数。(1)C中的静态变量是处于全局存储区,区别于自动变量的存储于栈中。两者的关键 区别是其作用域的区别。自动变量的作用域处于其所在的函数或语句块中;而静态 变量的作用域起始于其定义处,终止于程序结束处。(2)C中的静态函数主要是限制函数的名字以及可访问域于文件中,表示此函数仅供 此文件所用,不允许在其他文件中调用的。有关静态函数的使用可以考虑几点:一 是静态函数的名字仅可见于其所定义的文件。这就允许在不同的文件中存在同名的 静态函数。可以利用此特性将本文件常用的代码抽象出来成为函数,而转载 2010-10-19 22:12:00 · 3533 阅读 · 0 评论 -
C++变量存储区域及其作用域
<br />变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。<br /> 按存储区域分,全局变量、静态全局变量和静态局部变量都存放在内存的静态存储区域,局部变量存放在内存的栈区。<br /> 按作用域分,全局变量在整个工程文件内都有效;静态全局变量只在定义它的文件内有效;静态局部变量只在定义它的函数内有效,只是程序仅分配一次内存,函数返回后,该变量不会消失;局部变量在定义它的函数内有效,但是函数返回后失效。<br /> 全局变量和静态变量如果没有手工初原创 2010-10-19 22:46:00 · 718 阅读 · 0 评论 -
C++虚函数表解析(转)
<br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的 成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技 术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 <br />关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上面原创 2010-10-17 22:50:00 · 599 阅读 · 0 评论 -
C++ 虚函数机制-(转载)
2:对虚函数的理解(virtual) 2.1:只有申明为virtual的函数才能动态绑定(late binding),缺省情况下函数不具有该特性。 这说明一个问题:静态绑定和动态绑定的区别 静态绑定是在程序编译时期就一定分配好了地址,绑定完毕。 动态绑定就是只有等到程序运行时刻执行到这一条语句的时候,才确定调用的哪一个函数。 而实现动态绑定,只有在有virtual的情形下才有意义。所以可以这么理解:virtual函数可以用来实现动态绑定; 动态绑定也只有在virtual存在的情况下才具有意义。原创 2010-10-17 22:31:00 · 925 阅读 · 0 评论 -
2010.10.13-Linda的面试题
看完Socket,看完AO,看完二阶段构造,看完描述符,看完OOP,看完设计模式,看完算法,然后兴高采烈去面试.第一题:虚函数表是在什么时候建立的?答: .....第二题:请说明一下静态函数和静态变量打击中未缓过神来答:静态...静态.... 静态啥?静态变量只能有一个实例?静态函数不需要实例化就能使用?第三题:C++多态是怎么是实现的?终于有个有把握的了答:多态分为静多态和动多态(其实我的意思是编译时多态,和运行时多态),静多态有函数的重载,运算符的重载,动多态有虚函数.点评:不要背书上的答案,要在使用中原创 2010-10-13 22:10:00 · 500 阅读 · 0 评论 -
sizeof()的使用及各种数据类型的字节大小
<br />1、什么是sizeof <br /><br /> 首先看一下sizeof在msdn上的定义: <br /><br /> The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of type size_t. <br /><br /> 看到ret转载 2011-02-24 10:27:00 · 1297 阅读 · 1 评论