C++
lantx_SYSU
人类因梦想而伟大!
展开
-
C++构造函数初始化列表与赋值
初始化和赋值对内置类型的成员没有什么大的区别,像任一个构造函数都可以。但有的时候必须用带有初始化列表的构造函数:(1) 成员类型是没有默认构造函数的类。若没有提供显式初始化时,则编译器隐式使用成员类型的默认构造函数,若类没有默认构造函数,则编译器尝试使用默认构造函数将会失败。(2) const成员或引用类型的成员。因为const对象或引用类型只能初始化,不能对他们赋值。原创 2017-03-01 10:29:12 · 492 阅读 · 0 评论 -
C++ socket 实现服务端与客户端互相通信
// Server.cpp : Defines the entry point for the console application.//#include "winsock2.h"#pragma comment(lib, "ws2_32.lib")#include <iostream>using namespace std;int main(int argc, char...转载 2018-08-04 14:33:26 · 11324 阅读 · 0 评论 -
Linux C 编程
预处理.c文件 预处理 .i文件 编译 .s文件 汇编 .o文件 链接 可执行文件宏定义 不考虑编译器语法,单纯字符串的替换 用于 常量 数组buffer大小 便于修改,将其定义为宏宏函数 #define N(n) n * 10 #define ADD(a, b) (a+b) 不考虑类型语法预处理阶段...原创 2018-03-09 16:29:04 · 167 阅读 · 0 评论 -
数组模拟栈检测回文串
并不是使用c++中的数据结构stack,而是自己使用数组模拟栈的工作方式#include using namespace std;int main () { char a[100];// 字符串 char s[100];// 这是弄栈的 /*假设是a[6] 那么是0 1 2 3 4 5 mid 是 2 a[7] 那么是0 1 2 3 4 5 6 mid是 2 */原创 2016-09-26 21:16:46 · 328 阅读 · 0 评论 -
排序算法汇总
桶排序#include <iostream>using namespace std;int main () { int book[1001]; // 下标是0-1000 int temp; //用来临时存放读取的数 for (int i = 0; i <= 1001; i++) { book[i] = 0; //完成初始化 } int原创 2016-09-26 20:50:50 · 203 阅读 · 0 评论 -
数组实现链表及插入
自定义node结构体,实现简单的链表初始化及插入操作#include using namespace std;struct node{ int data; struct node *next;};int main () { struct node *head, *p, *q, *t; int n; //the total number you want to insert原创 2016-09-27 09:57:43 · 1286 阅读 · 0 评论 -
火柴棍等式
题目要求如下:给你n根火柴棒,你可以拼出多少个形如“A+B=C”的等式?等式中的A、B、C是用火柴棒拼出的整数(若该数非零,则最高位不能是0)。用火柴棒拼数字0--9的拼法如图所示:注意加号与等号各自需要2根火柴棒如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)n根火柴棒必须全部用上运行结果如下图:采用枚举的方法,代码如下:原创 2016-09-29 13:51:59 · 490 阅读 · 0 评论 -
平衡二叉树
一步一步写平衡二叉树(AVL树)转载:http://www.cppblog.com/cxiaojia/archive/2012/08/20/187776.html 平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树。1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵树,所以它又叫转载 2017-03-06 11:23:49 · 262 阅读 · 0 评论 -
二叉查找树
什么是二叉查找树在数据结构中,有一个奇葩的东西,说它奇葩,那是因为它重要,这就是树。而在树中,二叉树又是当中的贵族。二叉树的一个重要应用是它们在查找中的应用,于是就有了二叉查找树。 使二叉树成为一颗二叉查找树,需要满足以下两点:对于树中的每个节点X,它的左子树中所有项的值都要小于X中的项;对于树中的每个节点Y,它的右子树中所有项的值都要大于X中的项。二叉查找树的基本操作转载 2017-03-06 11:29:32 · 230 阅读 · 0 评论 -
内存对齐
规则:1:数据成员对齐规则:结构(struct)(或联合(union))的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从该成员大小或者成员的子成员大小(只要该成员有子成员,比如说是数组,结构体等)的整数倍开始(比如int在32位机为4字节,则要从4的整数倍地址开始存储。 2:结构体作为成员:如果一个结构里有某些结构体成员,则结构体成员要从其内原创 2017-02-27 15:30:38 · 191 阅读 · 0 评论 -
C++四种强制转换
C++的四种强制类型转换,所以C++不是类型安全的。分别为:static_cast , dynamic_cast , const_cast , reinterpret_cast为什么使用C风格的强制转换可以把想要的任何东西转换成合乎心意的类型。那为什么还需要一个新的C++类型的强制转换呢?新类型的强制转换可以提供更好的控制强制转换过程,允许控制各种不同种类的强制转换。C++中风格是转载 2017-03-08 17:40:01 · 355 阅读 · 0 评论 -
c++知识点总结(1)
重载: 只有在 同一类定义中的同名成员函数才存在重载关系 ,主要特点是 函数的参数类型和数目有所不同 ,但 不能出现函数参数的个数和类型均相同 ,仅仅依靠返回值类型不同来区分的函数,这和普通函数的重载是完全一致的。另外,重载和成员函数是否是虚函数无关覆盖: 在派生类中覆盖基类中的同名函数,要求两个函数的参数个数、参数类型、返回类型都相同,且基类函数必原创 2017-03-08 16:30:03 · 216 阅读 · 0 评论 -
c++中常用的内存操作函数
1.malloc()函数,calloc()函数和free()函数malloc()函数和free()函数 malloc()函数原型:void *malloc(size_t size);malloc()函数用来内存分配,如果分配成功则返回指向被分配内存的指针(此存储区中的初始值不确定),否则返回空指针NULL。当然,对于malloc()函转载 2017-03-05 08:54:41 · 1941 阅读 · 0 评论 -
C++的const类成员函数
我们知道,在C++中,若一个变量声明为const类型,则试图修改该变量的值的操作都被视编译错误。例如,[cpp] view plain copy const char blank = ‘’; blank = ‘\n’; // 错误 面向对象程序设计中,为了体现封装性,通常不允许直接修改类对象的数据转载 2017-03-01 10:39:23 · 239 阅读 · 0 评论 -
KMP算法C++实现
#include<iostream>using namespace std;//在一个文本串S内查找一个模式串P 的出现位置/*暴力搜索法*/int violentMatch(char* s, char* p) { int s_len = strlen(s); int p_len = strlen(p); int i = 0, j = 0; ...原创 2018-08-06 17:56:21 · 284 阅读 · 0 评论