
C++
缤纷的书签
这个作者很懒,什么都没留下…
展开
-
char * const p与 char const * p 区别 一道中兴笔试题
上次中兴一道笔试题。当时是猜的,回来总结一下。char * const p 与 char const * p 。int main(){ /* UseMallocFree(); UseNewDelete(); return 0; */ int *p=new in原创 2011-09-26 22:54:04 · 2757 阅读 · 2 评论 -
百纳笔试题 把ip字符串转换为32位二进制数
#include #include using namespace std; int ip[32]={0};//可以只写一个0,不然的话就是随见的如-3895567 之类的。int * intToA(int a){ //把整型变成二进制数组。 int *p =new int [8]; //这种写法不好,在哪new 的在哪释放。C++有智能指针,帮你释放内存。 for(int j=0;原创 2011-10-29 00:14:58 · 6208 阅读 · 0 评论 -
Effective C++和More Effective C++
More Effective C++读书笔记条款1:指针与引用的区别二者之间的区别是:在任何情况下都不能用指向空值的引用,而指针则可以;指针可以被重新赋值以指向另一个不同的对象,但是引用则总是指向在初始化时被指定的对象,以后不能改变在以下情况下使用指针:一是存在不指向任何对象的可能性;二是需要能够在不同的时刻指向不同的对象在以下情况使用引用:总是指向转载 2011-12-06 23:27:57 · 6783 阅读 · 0 评论 -
引用本质 探讨
前两次总结了指针用法,发现引用是不是跟指针有某种关系呢?经过认真总结发现引用是一种特殊的指针,特殊性如下:引用是一种变相的指针,不过有更多的限制: 1,必须定义时初始化. 2,所引用的对象不能更改 3,使用时类似于对象. 指针使用->调用 引用使用. 跟对象使用方式一样。下面从下面代码分析出引用和指针调用联系:// testreference.cpp : 定原创 2011-11-06 23:43:29 · 1518 阅读 · 0 评论 -
传值还是传引用(2) — C++
上一篇文章总结了java 参数传递方式。—(http://blog.youkuaiyun.com/clam_clam/article/details/6625837)为了比较我在这里总结了C++ 的参数传递方式。首先来看一个小程序:#include using namespace std;class Interger{ public: int value; Interger原创 2011-08-04 22:37:16 · 2875 阅读 · 0 评论 -
学C++时要注意的
下面的是学C++时要注意的。绝对经典。!! 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、转载 2011-11-03 14:37:11 · 1072 阅读 · 0 评论 -
函数名与函数指针解惑
先看一个程序:#include using namespace std;typedef int (* minPtr)(int,int);int min(int x,int y){ printf("min=%d\n",(xreturn (x}void printArrayAddress(int *a){cout}void main(){原创 2011-11-03 12:58:37 · 1425 阅读 · 0 评论 -
java 和C++ 多态机制区别
所以看两段小程序:1. Java 程序:package com;class Student{ int num; String name; double score; Student(int num,String name,double score){ this.name=name; this.num=num; this.score=score; } void原创 2011-11-01 23:05:21 · 2036 阅读 · 1 评论 -
虚函数表实现机制
对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。 在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配在了 这个实例的内存中,所以,当我们用父类的指针来操作一个子类的时候,这张虚函数表就显得由为重要了,它就像一原创 2011-10-31 13:42:07 · 2026 阅读 · 1 评论 -
C++ 指针 《C++ 程序设计》 -谭浩强 指针一章总结
1.首先弄清两种访问方式:1).直接存取(直接访问方式) :通过变量地址存取变量值2).间接存取 :通过指针变量取得变量地址在存取变量值两者区别如下图:2.一个变量地址称为该变量的指针,变量的指针就是变量的地址(即对变量来说 指针=地址)。 用来存放变量地址的变量是指针变量。如上面只有int * i_pointer 指向整形数据的指针变量。只有整型变量的地址才原创 2011-10-25 21:48:14 · 2277 阅读 · 0 评论 -
C++ 内存布局 变量在堆栈的分配
1. 变量的内存分布:const变量存储在.rodata(read only)区域;char* p = "abcd"; p指向的是静态文本区域.text.rodata 和 .text 被合并为一个segment,由OS保护起来,只可读。register变量存放在.bss区域;局部变量存放在栈空间,static变量存放在静态存储空间 (.data).bss 和.data原创 2011-10-28 18:47:01 · 4477 阅读 · 2 评论 -
深信服笔试题
#includeusing namespace std;#include int * fun1(int a){ return &a; //参数 存放在栈里。} int * fun2(int a){ int b=a; //局部变量存放在栈里 return &b;} int * fun3(int a){ s原创 2011-10-22 00:24:52 · 4993 阅读 · 0 评论 -
sizeof 详解 及其与 strlen 不同区别与联系
详细解析C语言中的sizeof详细解析C语言中的sizeof 一、sizeof的概念 sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法转载 2011-10-20 15:23:55 · 783 阅读 · 0 评论 -
new和malloc的区别和联系
面试和笔试 经常问到 new 和c++问题。网上找了一下觉得这篇讲解不错转过来了。1、new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行转载 2011-09-26 21:26:34 · 898 阅读 · 0 评论 -
C++ 内存对齐
内存对齐 两条规则 :1.对于结构的各个成员,第一个成员位于偏移为0的位置,以后每个数据成员的偏移量必须是min(#pragma pack()指定的数,这个数据成员的自身长度)的倍数。2.在数据成员完成各自对齐之后,结构(或联合)本身也要进行对齐,对齐将按照#pragma pack指定的数值和结构(或联合)最大数据成员长度中,比较小的那个进行。!important 1)注意不要把上面原创 2012-08-10 23:59:38 · 1116 阅读 · 0 评论