![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++基础
Xu_Haocan
ZJU_ME
展开
-
C++面试题总结
如果基类的析构函数不是虚函数,那么通过基类的指针删除派生类的对象时,无法正确调用派生类的析构函数,无法正确析构对象,导致内存泄漏和其他未定义行为。原创 2023-10-04 21:45:48 · 434 阅读 · 0 评论 -
数据结构与算法面试题总结
1. 冒泡排序2. 选择排序3. 快排4. 堆排序1. 冒。原创 2023-10-05 16:47:07 · 48 阅读 · 0 评论 -
顺序查找与二分查找
查找1. 静态查找2. 动态查找查找1. 顺序查找(哨兵)2. 二分查找原创 2019-01-07 23:45:37 · 619 阅读 · 0 评论 -
数据结构
定义n(n>=0)个节点构成的有限集合(n=0则空树)性质1.子树是互不相交的2.除了根节点之外,每个节点有且只有一个父节点(根节点没有父节点)3.一棵树N个节点有N-1条边基本术语1.节点的度(degree):节点的子树个数2.树的度(degree):树种所有节点中最大的度数(节点的度的最大值)3.叶节点(leaf):度为0的节点4.父节点(parent)5.子节点(...原创 2019-01-13 15:46:21 · 253 阅读 · 0 评论 -
标准模板库STL(standard template library)
注意点:STL头文件都不带.hvector//头文件#include<vector>using namespace std; //或using std::vector//常用函数push_back(); //在尾部添加一个函数pop_back(); //删除尾部的一个函数capacity(); //当前容器的容量size(); //当前容器中原始的个...原创 2019-03-19 22:22:50 · 342 阅读 · 0 评论 -
原码、补码、反码
原码在数值前直接加一符号位的表示法例如:[+7]原= 0 0000111 B[-7]原= 1 0000111 B补码正数:补码=原码负数:负数的反码,符号位为“1”,数值部分按位取反,例如 [-7]反= 1 1111000 B反码正数:反码=原码负数:负数的补码则是符号位为“1”,反码+1。...原创 2019-03-18 16:03:25 · 164 阅读 · 0 评论 -
函数模板
//适用对象:算法相同,元素类型不同,用T代替template <typename T>T function(T a, T b){ return a+b;}//函数模板中包含多个参数template <typename _A, typename _B>void function2(_A a, _B b){ //...}void main(){ i...原创 2019-03-28 16:28:01 · 127 阅读 · 0 评论 -
类(Class)
类(class)是对于结构体(struct)的增强,即在struct的基础上增加了一些特性,来满足一些新的需求。访问修饰符1.public //可以在外部被访问2.private //只能在类的内部被访问,不能被外部访问3.protect访问成员变量的方式class object{public: int a; double b;}void main(){ //访问方...原创 2019-03-28 16:47:56 · 515 阅读 · 0 评论 -
排序
冒泡排序容器//从小到大排序template <typename T>void sortVector(vector<T>& data){ int dataSize = data.size(); for (int i = 0; i < dataSize ; i++) { for (int j = 0; j < dataSize - i...原创 2019-04-09 17:51:07 · 179 阅读 · 0 评论 -
C语言基础
变量与内存//变量大小char //1个字节short //2个字节int //4个字节float //4个字节double //8个字节原创 2019-06-25 21:56:38 · 368 阅读 · 0 评论 -
浅谈new/delete和malloc/free的用法与区别
链接转载 2019-10-09 15:47:25 · 168 阅读 · 0 评论 -
GIT基本指令
//初始化,创建.git文件git init//配置操作,设置名字和邮箱git config user.name “xuhaocan”git config user.email “xuhaocan@163.com”//获取当前状态git statusGit分为三个分区:工作区+缓存区+版本库//将工作区的文件放置到缓存区git add//将缓存区的文件提交到版本库git co...原创 2018-09-28 20:09:56 · 207 阅读 · 0 评论 -
string, char*, const char*, int转换
string -> const char* string s = "abc"; const char* c_s = s.c_str();const char* -> string const char* c_s = "abc"; string s(c_s);string -> char* string s = "abc";转载 2017-10-26 16:43:27 · 349 阅读 · 0 评论 -
MFC+C++相关基础操作
CFileDialog dialog(TRUE, "data", "*.txt", OFN_NOCHANGEDIR | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T(".data(*.txt)|*.txt||"), NULL); if (dialog.DoModal() != IDOK) return; ...原创 2018-05-30 10:30:17 · 594 阅读 · 0 评论 -
图像八领域区域生长
//主函数void Regiongrowing(){ CFileDialog dialog(TRUE, "image", "*.png", OFN_NOCHANGEDIR | OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T(".data(*.png)|*.png||"), NULL); if (dialog.DoMod原创 2018-05-30 10:37:34 · 1306 阅读 · 0 评论 -
字符串操作_Char&String
一、char 字符串表达形式 1. char buf[128] 2. char* p = buf 3. 字符串常量 const char* p = “hello” **备注:**char 以0结尾!二、字符串遍历int ergodic(const char* str){ for(int =0; ; ...原创 2018-06-28 22:50:31 · 1414 阅读 · 0 评论 -
sprintf && sscanf
sprintf 作用:格式化字符串char buf[128]; //或者动态分配内存 char* buf = (char*)malloc(128);sprintf(buf, "name:%s, age:%d", "haocan_xu", 25); //运行结果为buf的内容是 name:haocan_xu, age:25sscanf 作用:解析字符串(ps:sscanf只适用于提...原创 2018-07-06 11:00:22 · 246 阅读 · 0 评论 -
随机数生成
一、rand() 头文件:#include<stdlib.h> 缺陷:产生的是伪随机数,即每次产生的结果都一样 解决方案:使用srand()产生一个种子#include<time.h>#include<stdlib.h>#include<stdio.h>srand(time(NULL)); for(int i=0; i<10...原创 2018-07-06 11:09:22 · 233 阅读 · 0 评论 -
时间相关函数库time.h
time_t now = time(NULL); //返回值为当前时间到1970-01-01 00:00:00这个时间点的秒数原创 2018-07-06 18:11:35 · 324 阅读 · 0 评论 -
文件基本操作,输入输出
#include&amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;gt; //头文件File* fopen(const char* filename, const char* mode); //打开文件int fclose(File* p); //关闭文件size_t fwrite(const void* buf, size_t size, size_t count, File* p); //写入数据,bu原创 2018-09-11 22:30:05 · 259 阅读 · 0 评论 -
SVN使用基本教程
下载链接 基本使用方法转载 2018-09-12 19:33:56 · 267 阅读 · 0 评论