- 博客(9)
- 资源 (3)
- 收藏
- 关注
原创 【剑指offer】替换字符串
题目:请实现一个函数,把字符串中的每个空格替换成“%20”,例如输出“We are happy”,则输出“We%20are%20happy”.//思路:如果直接替换,就有可能覆盖修改在字符串后面的内存。如果创建新的字符串并在新的字符串上做替换,我们就可以分配足够多的内存。//对于任何一个函数,我们要做哪些基本的检测//1.传入的参数有效性//2.函数体边界的判断//3.返回值正确返回voi
2017-02-28 23:19:49 221
原创 【剑指offer】经典面试题1-赋值运算符重载
题目要求:如下类型CMyString的声明,请为该类添加赋值运算符函数class CMyString{public: CMyString(char* pData = NULL); CMyString(const CMyString&str); ~CMyString(void);private: char* m_pData;};解法:CMyString& oper
2017-02-27 23:59:22 441
原创 菱形继承的内存布局是怎么回事呢?访问时,又会出现什么情况?
首先,我们看一下菱形继承(也叫钻石继承)的类之间的关系,如下图: 这样的话,那D类有两个B类成员吗?,访问的话岂不是两个同名吗?那我们验证一下, 用代码表示的话就是://菱形继承#include<iostream>using namespace std;//基类Bclass B{public: int _b;};//基类C1,公有继承Bclass C1 :public
2017-02-25 21:05:02 1196
原创 如何获取程序执行时间的高精度时间?
参考资料:粗糙的几种用法: http://www.zhixing123.cn/net/29619.html 那如何获取高精度的CPU执行时间的? 其实很多CPU中都有一条获取系统时钟的指令,我们之所不用上面链接那种,这是因为计算相对来说还是比较粗糙一点的。#include<stdio.h>#include"rdtsc.h"//vs2013 无法打开包括文件: “rdtsc.h”: No su
2017-02-24 22:46:19 676
原创 C++构造函数、析构函数必须要给成公有的吗?
C++构造函数、析构函数必须要给成公有的吗?答案是:一、一个类的析构函数只能有一个,也不能重载?1.类的析构函数对象生命周期结束后,由系统自动调用, 2.该函数不需要参入任何参数,不需要传入任何参数,要想传入参数,构成重载,则会造成二义性,这一点跟构造函数不同,构造函数可以根据传入的参数,构造出合适的对象,当然也可以重载。 析构函数可以显式调用,而析构函数系统负责调用,程序无法控制其调
2017-02-24 21:54:32 4732
原创 C结构体与C++结构体的区别以及C++结构体与C++类的区别
为了方便大家理解,导图简单整理了一下。后续我会不断推出C++学习过程中的总结,如果喜欢的话,可以私聊我。 C++结构体与C++类的区别: 主要的区别有两个:
2017-02-24 20:44:40 601
原创 C++String类的实现
String类的简单实现:包括构造函数、拷贝构造函数、赋值函数、析构函数、友元输出函数的各个版本实现。#include<iostream>#include<malloc.h>using namespace std;//2、写出普通版本深拷贝的String类,并实现以下函数(不能调用库函数)//// 不能使用库函数//size_t Size()const;//size_t Lengh()co
2017-02-22 22:35:34 357
原创 不撞南墙不回头-深度优先搜索
book[]数组对元素进行标记,进行判断遍历#include<stdio.h>#include<windows.h>int a[10], book[10], n;void dfs(int step){ int i; if (step == n + 1) { for (i = 1; i <= n; i++) { pr
2017-02-02 11:51:48 807 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人