C++常考面试题
来源:互联网 发布:nginx 获取header 编辑:程序博客网 时间:2024/05/18 11:49
1. String类的实现
string::string(const char* str){ if(str==NULL) { m_data=new char[1]; m_data='\0'; } else { m_data=new char[strlen(str)+1]; strcpy(m_data,str); }}string::string(const string& str){ m_data=new char[strlen(str.m_data)+1]; strcpy(m_data,str.m_data);}string& string::operator=(const string& str){ if(this==&str) { return *this; } delete[] m_data; m_data=new char[strlen(str)+1]; strcpy(m_data,str.m_data); return *this;}string::~string(void){ delete [] m_data;}
2. 引用”与指针的区别是什么?
- 指针通过某个指针变量指向一个对象后,对他所指向的变量简介操作。引用 本身就是目标变量的别名,对引用的操作就是对目标变量的操作。
- 流操作符<<和>>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、
3. 下面关于“联合”的题目的输出?
union{ int i; char x[2];}a;void main(){ a.x[0]=10; a.x[1]=1; printf("%d",a.i); getchar();}
- 首先是低位a.x[0]=0x0a a.x[1]=0x01
- a内存是0x00000000共四个字节。 通过赋值后内存为0x0000010a
- 在windows系统是低字节在前,高字节在后,得出的结果是266(010A)
在linux系统是高字节在前,低字节在后,得出的结果是0x(0A010000) - 联合体的内存是共享的,所有变量共用一块内存,为最大内存空间变量的内存空间
4. char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。
char *strcpy(char *strDest, const char *strSrc){ assert((strDest!=NULL)&&(strSrc!=NULL)); char *address=strDest; while((*strDest++=*strSrc++)!='\0') NULL; return address; }int strlen( const char*str ) // 输入参数const{ assert( str != NULL ); // 断言字符串地址非0 int len = 0; while( (*str++) !='\0' ) { len++; } return len;}
5. h头文件中的ifndef/define/endif 的作用。
- 防止该头文件被重复引用。
6.<.h> 与”.h”的区别?
- 标准库的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。
7. 描述内存分配方式以及它们的区别?
- 静态存储区,如全局变量,静态变量,程序运行期间一直存在
- 栈,如函数局部变量,函数执行结束时,内存资源被释放。
- 堆,如指针,又称动态内存分配空间。程序在运行的时候用malloc 或new 申请任意多少的内存,程序员自己负责在何时用free 或delete 释放内存。动态内存的生存期由程序员决定,使用非常灵活。
8. 链表题:一个链表的结点结构
typedef struct node{int data;struct node *next;}node;
参考博客
参考文
0 0
- C/C++常考面试题
- C试题
- C试题
- c 试题
- c++|试题
- C/C++常考面试题(1)
- C/C++常考面试题(2)
- c/c++常考面试题(二)
- C++/C试题
- C++/C试题(转)
- C++/C试题
- C++/C试题
- C++/C试题
- C++/C试题
- C++/C试题
- C++/C试题
- C++/C试题+答案
- C++/C试题
- hdu 4280 Island Transport isap果题
- 【小迪实地】Webdav安全配置相关与漏洞利用
- 加油站
- 什么是计算机
- 第九周项目5-方程也是类
- C++常考面试题
- Java应用程序中的声音播放
- 机器学习 非均衡分类问题
- hdu 2017 字符串统计(java)
- 第五章9
- Sphinx使用及近实时索引实现
- 网络学习第四章(交换机)
- 反射遍历
- 存储过程