
c++
立志要成为海贼王的男人
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
学习笔记1-C++-strcat,strcpy函数
strcpy函数腾讯面试题目一:手写字符串复制函数//字符串复制函数#include#includeusing namespace std;char *mystrcpy(char *s1, const char *s2)//就算s1长度小于s2也能全部复制{assert(s1 != NULL);assert(s2 != NULL);char *p = s原创 2017-08-15 11:20:52 · 1511 阅读 · 0 评论 -
学习笔记41-寻找二叉树最近公共结点
1. 有父指针如果这棵二叉树有父指针,比较简单,时间复杂度是O(n)。 先把深度大的向上移,移到同一深度,再同时向上移动,直到两个结点相同就找到了公共父节点。#include<stdio.h>struct node{ int data; node *left; node *right; node *parent; node():left(NULL),ri原创 2017-10-11 16:00:19 · 539 阅读 · 0 评论 -
学习笔记44-成员函数的重载,覆盖,隐藏
重载成员函数的重载有四个特征: 1. 相同的范围内(比如同一个类中) 2. 函数名字相同 3. 参数不同(个数,顺序,类型) 4. virtual关键字可有可无覆盖覆盖是指派生类函数覆盖了基类函数,也有四个特征: 1. 不同的范围(分别位于派生类和基类中) 2. 函数名字相同 3. 参数相同 4. 基类函数必须有virtual关键字(虚函数)隐藏隐藏是指派生类的函数屏蔽了与其同名的基原创 2017-10-14 16:44:29 · 391 阅读 · 0 评论 -
学习笔记37-C++异常处理
try-catchtry-catch是一对c或者c++的异常处理机制。 具体例子如下: 写一个除法的函数,规定除数不能是0,被除数不能是1。#include<stdio.h>double division(int x,double y){ try { if(y==0) throw y; if(x==1)原创 2017-09-21 10:15:01 · 185 阅读 · 0 评论 -
学习笔记36-C++ 智能指针
动态分配内存-回收问题因为C++没有自动内存回收机制,程序员每次new出来的内存都要手动delete,如果程序员忘记delete,那么这个指针指向的对象不能被安全删除,比如下面的情况:Object_type *ptr=new Object_type();ptr->func();delete ptr;如果程序员忘记第三行的delete,那么会造成一个悬挂指针(dangling pointer),也原创 2017-09-21 09:35:53 · 198 阅读 · 0 评论 -
学习笔记24- C/C++ 字符串分割函数
字符串分割因为C++没有类似Python,Java那样的split函数,所以需要自己实现字符串分割。方法1可以先将string类型转换成char数组,然后使用C语言的strtok函数,进行字符串分割:#include<stdio.h>#include<string.h>int main(){ char s[]="a,b,c,d"; const char *key=",";原创 2017-09-01 15:15:44 · 858 阅读 · 0 评论 -
学习笔记32-设计模式
设计模式(Designs Patterns)设计模式,可以理解为一些面向对象代码设计的经验的总结。 使用设计模式,是为了可重用代码,使代码更容易被人理解,保证代码的可靠性。 JAVA常用的设计模式有23种,这里准备用C++实现。分类总体来说,设计模式分为三类:1. 创建型这种模式在创建对象的时候隐藏了创建的逻辑,不是使用new操作符直接实例化对象。使得程序在判断针对某个实例应该创建那些对象时更加原创 2017-09-17 16:09:17 · 288 阅读 · 0 评论 -
学习笔记29-C++类的继承方法
类的继承后方法属性变化:private 属性不能够被继承。使用private继承,父类的protected和public属性在子类中变为private;使用protected继承,父类的protected和public属性在子类中变为protected;使用public继承,父类中的protected和public属性不发生改变; private, public, protected 访问标号的访问原创 2017-09-06 18:37:20 · 244 阅读 · 0 评论 -
学习笔记31-C/C++字符串输入
1. cin>>cin>>可以用来接收字符串,字符,数字等等类型。 但是注意: cin>>会自动过滤空格,tab,回车等不可见字符,如果不想过滤可以使用noskipws进行控制。#include<iostream>using namespace std;int main(){ char ch[5]; for(int i=0;i<5;i++) cin>>nos原创 2017-09-15 19:07:29 · 287 阅读 · 0 评论 -
学习笔记2-C++-const static 关键词的用法
C++基础 const,static关键词1. const可以修饰变量,指针,函数参数原创 2017-08-15 14:29:51 · 266 阅读 · 0 评论 -
算法学习笔记15-哈希算法
Hash表首先说一种数据结构,Hash表,也叫哈希表或者散列表,索引表。它同数组、链表以及二叉排序树等数据结构有很明显的区别,它能够快速定位到想要查找的记录。也就是说,某个元素存储的地址跟这个元素的内容之间存在一种映射。 比如,有一张用户个人信息表,你想查找“李四”这个人,如果是用普通的数组存储,你需要遍历每一个数组元素,时间复杂度是O(n),就算用二叉树,时间复杂度也是O(log n)。但是,如转载 2017-08-24 16:24:42 · 580 阅读 · 0 评论 -
学习笔记20-经典面试题-求一个整数中1的个数
题目今天看到一个面试题,挺有趣的,分享一下。 请实现一个函数,输入一个整数,输出该整数的二进制表示中1的个数。 比如输入9,输出2。解法1:除法首先我想到的是用除法,也就是把十进制数转换成二进制数,计算1的个数int count1(int n){ int c=0; while(n>0) { if(n%2==1) c++;原创 2017-08-28 15:40:46 · 648 阅读 · 0 评论 -
学习笔记16-C++ main(int argc, char *argv[])
一直以来写的C/C++代码,main函数都是没有输入参数的,但是经常看到别人的main函数有两个参数: 比如在doss命令窗口中运行下面这段代码 输入: test.exe aaa bbb ccc ddd 输出: 5 test.exe aaa bbb ccc ddd#include<stdio.h>int main(int argc,char*argv[]){ int原创 2017-08-24 16:55:04 · 198 阅读 · 0 评论 -
算法学习笔记11-DFS深度优先搜索
DFS问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个1-10的数字。[数字允许重复,测试用例保证无异常数字] 输出: true or false 这道题目用深度优先加递归就能解出来。#coding=utf-8from itertools import permutationsdef dfs(a,n,i): flag=False if原创 2017-08-19 22:20:13 · 342 阅读 · 0 评论 -
学习笔记13-C++-内存分配
malloc/free和new/delete 应用C++有两组内存操作,分别是malloc/free和new/delete。new/delete是C++的操作符,malloc/free是C的函数。 new有两个作用:分配内存;调用类的构造函数。 delete也有两个作用:释放内存;调用类的折构函数。 而malloc和free只能分配和释放内存。 malloc/free的原型分别是:void*原创 2017-08-21 11:21:18 · 216 阅读 · 0 评论 -
学习笔记3-C++-虚函数
//虚函数可以实现多态性//折构函数可以是虚函数,构造函数不行#includeusing namespace std;class A{ public: int m=0,n=0; virtual void func()//虚函数 { cout<<"调用A类func函数"<<endl; } void func2() { cout<<"调用A类func2函数"<<endl原创 2017-08-15 16:01:38 · 192 阅读 · 0 评论 -
学习笔记43-C语言指针
指针实际上可以理解为存放地址的变量,二级指针就是“指针的指针”,它存放的是另一枚指针的地址。在C语言里面指针跟数组很容易让人懵逼,这里记几个例子: 1.指针跟函数:#include<stdio.h>#include<string.h>#include<malloc.h>//可以返回一个指针变量,因为返回的实际上是指针变量里面存的地址。char *getMemory_1(const char原创 2017-10-14 11:47:12 · 232 阅读 · 0 评论