
cpp基础
布衣小弟
恒
展开
-
按层访问二叉树
#include <iostream>#include<queue>using namespace std;typedef struct tag_TreeNode{ int val; struct tag_TreeNode* left; struct tag_TreeNode* right; tag_TreeNode(int ...原创 2019-05-27 22:41:33 · 235 阅读 · 0 评论 -
红黑树的基本操作
红黑树的基本操作原创 2017-07-26 10:03:47 · 306 阅读 · 0 评论 -
二叉查找树
二叉查找树的基本操作原创 2017-07-02 14:21:53 · 263 阅读 · 0 评论 -
队列的基本操作
队列的基本操作原创 2017-06-17 15:55:08 · 105 阅读 · 0 评论 -
栈的基本操作
栈的基本操作,为循环访问树做准备原创 2017-06-15 22:12:35 · 159 阅读 · 0 评论 -
二叉树---待完善
二叉树---未完成原创 2017-06-13 22:13:29 · 172 阅读 · 0 评论 -
双向循环链表---仿照linux内核实现
双向循环链表,仿照linux内核实现原创 2017-06-11 22:14:29 · 386 阅读 · 0 评论 -
查找方法总结---待完善
待完善原创 2017-06-11 20:17:52 · 289 阅读 · 0 评论 -
排序方法总结
排序原创 2017-06-11 20:16:07 · 205 阅读 · 0 评论 -
链表的基本操作
#include "stdafx.h"#include "stdio.h"#include "stdlib.h"#include "string.h"#define RETURN_OK 0#define RETURN_ERROR 1#define MAX_LEN 11#define MY_RAND_MAX 26typedef struct t原创 2016-09-04 17:51:43 · 234 阅读 · 0 评论 -
指针和引用
能用引用的地方必然可以用指针代替。什么是变量变量其实是地址的代号。访问变量名称时其实是访问变量代表的地址中的内容。也就是说访问变量时,首先先找到地址,然后取出地址中内容。什么是指针指针和变量一样也是具有自己的地址的。只不过指针地址中存放的内容,是另一个变量的地址。int x = 10; // x可以理解为地址中的内容,而&x则代表x所在的地址int *p = &x; ...原创 2019-07-12 00:45:38 · 263 阅读 · 0 评论 -
const
变量:const修饰变量,表示该变量只读。用于取代c语言中的宏定义,类型安全。非成员变量声明const时必须初始化const 类型说明符 变量名指针:const修饰指针时根据右结合特性,const要区分修饰的是地址(指针),还是修饰指针指向的对象char *const cp; //const指针,指针结合const。cp的指向不可以改变,但是cp指向的内容可以变化char const ...原创 2019-07-11 23:45:04 · 223 阅读 · 0 评论 -
c++类在内存中的布局
内存神奇又神秘,让我们一探究竟吧! VS打开工程,右键工程名称—&amp;amp;amp;amp;amp;amp;amp;gt;属性—&amp;amp;amp;amp;amp;amp;amp;gt;c/c++—&amp;amp;amp;amp;amp;amp;amp;gt;命令行—&amp;amp;amp;amp;amp;amp;amp;gt; /d1 reportAllClassLayout空类class emptyClass{};原创 2018-05-18 21:47:49 · 6135 阅读 · 6 评论 -
菱形继承-1
菱形继承c++支持多继承,因此可能出现菱形继承。菱形继承是指,派生类B和派生类C同时继承基类A,派生类D又同时继承B和C,代码如下:#include "iostream"using namespace std;class baseClass{private: int i; char c;public: virtual void virt_fun1(){ ...原创 2018-05-19 16:32:09 · 127 阅读 · 0 评论 -
菱形继承-2
菱形继承-3如果inheritClass_1和inheritClass_2都是虚继承baseClass,然后被inheritClass_3继承(非虚继承)这样就能解决二义性问题。如果inheritClass_1或inheritClass_2只有一个虚继承baseClass,另一个为普通继承,然后被inheritClass_3继承(非虚继承),只有又会这样呢?代码如下:#include "i...原创 2018-05-19 17:14:39 · 140 阅读 · 0 评论 -
const
定义常量const 类型说明符 变量名 const int a = 10; //a的值定义后不允许变化。等同于 int const a = 10; const char *p = &var_c1; //const 修饰 *p,就是说指针指向的内容(*p的值)不通过*p直接修改,但是可以通过var_c1来修改*p的值。等同于 char const *p=&a...原创 2018-05-22 10:04:07 · 128 阅读 · 0 评论 -
SocketsOps.h
一直想学习网络,有幸看到陈硕老师的muduo代码,希望可以深入学习一下。#ifndef MUDUO_NET_SOCKETSOPS_H#define MUDUO_NET_SOCKETSOPS_H#include <arpa/inet.h>namespace muduo{ namespace net { namespace sockets...原创 2018-06-10 14:04:26 · 195 阅读 · 0 评论 -
一种赋值方式
#include "stdafx.h"int g_Con[128] = { 0 };typedef struct tag_Info_S{ int num1; int num2;}Info_S;int _tmain(int argc, _TCHAR* argv[]){ Info_S *p = (Info_S *)g_Con; p原创 2016-08-24 22:49:33 · 370 阅读 · 0 评论 -
构造函数-1
#include &lt;iostream&gt;using namespace std;using std::ostringstream;class A{public: // A() { x = 0; cout &lt;&lt; "x = " &lt;&lt; x &lt;&lt; endl; } A(int a)原创 2018-07-31 21:40:08 · 162 阅读 · 0 评论 -
继承-01
继承语法:class 派生类名 : 访问修饰符 基类名1, …, 访问修饰符 基类名n{成员变量和成员函数};访问修饰符: public、protected 或 private,则默认为 private。public:在类的内部、外部都能使用protected:在类的内部使用,在继承的子类中使用private:只能在类的内部,不能在类的外部(包括继承中的子类也不能使用)(派生类...原创 2019-07-14 21:56:36 · 110 阅读 · 0 评论 -
继承-02
不带虚函数的单虚继承#include "stdafx.h"#include "iostream"using namespace std;class Base{public: Base (int a = 1):base(a){} void fun0(){cout << base << endl;} int base;};clas...原创 2019-07-14 23:20:57 · 160 阅读 · 0 评论 -
c++内存
众所周知C++内存分为五个区域:栈、堆、全局/静态存储区、字符串常量区和代码区。 1. 栈:由系统进行内存的管理。主要存放函数的参数以及局部变量。在函数完成执行,系统自行释放栈区内存,不需要用户管理。 2. 堆:使用malloc或者new进行申请。堆内存需要用户申请和释放,若不手动释放(内存泄漏),程序结束后由系统回收。 3. 全局/静态存储区:存储全局变量和静态变量。静态存储区内的变...原创 2018-05-17 20:26:24 · 174 阅读 · 0 评论