C++进阶之路
从最基础学起
Treysure
从最基础做起
展开
-
【C】 一道题浅尝指针数组和二级指针
/*【题目】指针数组 二级指针*/#include int main(){ int a = 10, b = 9, c = 8; int *aArr[3] = {&a, &b, &c}; int **aPtr = aArr; char *cArr[3] = {"www.hao123.com", "www.hao234.com", "www.hao346.com"};原创 2017-09-28 15:30:40 · 1202 阅读 · 0 评论 -
【C】 结构体与结构体指针,->在C语言中的唯一用途
/* 结构体*/#include #include #define STRLEN 128struct Student{ char *name; // 指针变量,指向字符,机器32位大小为32bit/8bit = 4Bytes int age; // 整形变量,4字节 float score; // 单精度浮点型,4字节};int main(){ int i原创 2017-10-01 14:49:13 · 755 阅读 · 0 评论 -
【C++】 C++11新特性
1.C++11新特性了解但不清楚,好像有印象却又不能有条理的组织语言,程序员是一个必须精准的职业,不容含糊。关于C++11:1.革新2.语法糖3.标准库的扩充4.老语法bug的修复面试官最想听的肯定是第1点,然后第2点。没得聊了就聊第3点、第4点。1.革新有哪些?很多啊。一言以蔽之是啥?——模板。模板肯定不是C++的新事物,但C++11的转载 2017-10-10 23:12:00 · 570 阅读 · 0 评论 -
【数据结构】【C】顺序栈
/* 文件一: 顺序栈头文件 */#ifndef __SEQSTACK_H#define __SEQSTACK_H//#include /* VS2012不支持bool,自己定义 */#define bool int#define true 1#define false 0#define MAXSIZE 1024//typedef int ElemType;typedef转载 2017-11-06 10:12:28 · 499 阅读 · 0 评论 -
【C++】P00.1.clock计时学习
// 这段代码中用两个clcok_t类型的clock函数来计算程序运行时间// C++ 版本#include <iostream>#include <fstream>#include <vector>#include <string>#include <time.h>using namespace std;vect...原创 2018-04-04 09:24:10 · 294 阅读 · 0 评论 -
【C++】P01.0.DP问题
/** 2017网易秋招笔试题 跳石板 C/C++* 小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3.......* 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,* 小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和* 本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石* 板去,小易想知道最少...原创 2018-04-10 17:00:53 · 284 阅读 · 0 评论 -
VS2012版最常用的快捷键
VS2012版最常用的快捷键注释::VS2010是(Ctrl+E,C),VS2012是(Ctrl+K, Ctrl+C),实际操作,按住Ctrl键不放,先按K键,再按C键。相当于Ctrl+K加 Ctrl+C的组合键反註解:VS2010是(Ctrl+E,U),VS2012是(Ctrl+K, Ctrl+U)1. 强迫智能感知:Ctrl+J;2.强迫智能感知显示参数信息:Ctrl-Shift-空格;3.格...转载 2018-06-21 17:09:41 · 318 阅读 · 0 评论 -
【C++】了解PDB
What is the use of PDB file?Introduction本文帮助那些处于初级或中级水平,对PDBs格式文件的重要性和为什么需要PDBs格式文件了解不多的开发人员。What is PDBPDB是程序数据库文件的缩写。PDB文件通常是在编译期间从源文件创建的。它将所有符号的列表存储在一个模块中,包含它们的地址以及可能的文件名和声明该符号的行。(来自维基)Why PDB as a...翻译 2018-06-27 16:14:38 · 4549 阅读 · 0 评论 -
【git】Git 工具 - 储藏(Stashing)git fetch/pull
储藏(Stashing)经常有这样的事情发生,当你正在进行项目中某一部分的工作,里面的东西处于一个比较杂乱的状态,而你想转到其他分支上进行一些工作。问题是,你不想提交进行了一半的工作,否则以后你无法回到这个工作点。解决这个问题的办法就是git stash命令。“‘储藏”“可以获取你工作目录的中间状态——也就是你修改过的被追踪的文件和暂存的变更——并将它保存到一个未完结变更的堆栈中,随时可以重新应用...转载 2018-06-28 20:56:40 · 294 阅读 · 0 评论 -
【正则表达】同时包含2个甚至多个关键字 content.contains(keyword1)&&content.contains(keyword2)
有三个字符串如何匹配同时包含两个关键字的字符串str1 = "this is the first check run"str2 = "the first run"str3 = "the first time runing"有两个关键字(“first ”、”check “) 正则表达式怎么写 然后匹配到str1 // regExp (?=.*我是谁)(?=.*C)^.*$// java ...原创 2018-06-29 12:29:35 · 21720 阅读 · 1 评论 -
【C++】define宏定义中的#,##,@#及\符号
一、#名称:字符串化操作符其作:将宏定义中的传入参数名转换成用一对双引号括起来参数名字符串。使用条件:只能用于有传入参数的宏定义中,且必须置于宏定义体中的参数名前举例:#define example1(instr) #instrstring str=example1(abc); 将会展成:string str="abc";注意:对空格的处理a、忽略传入参数名前面和后面的空格。如:str=examp...转载 2018-06-30 17:00:37 · 3199 阅读 · 1 评论 -
【C++】bool a:1;这个怎么解释?
Bit field, 位域。意思大概就是你虽然声明自己是个bool(8bit),但我可以只占1bit的空间。#include<iostream>using namespace std;struct S1{ bool b1 :1; bool b11 ;1; bool b111 :1; unsigned a :20; uns...原创 2018-07-03 11:36:02 · 2496 阅读 · 0 评论 -
【C++】C++成员函数后面跟冒号冒号
/* node class definition*/class Node{public: int data; // data Node *parent; Node *left; Node *right; public: // default Node( ) : data(-1), parent(NULL), left(NULL), right(NULL) { }; ...原创 2018-07-12 15:30:13 · 1881 阅读 · 0 评论 -
【C++】类中成员函数声明后面接 const
const 表示对类中成员函数属性的声明;表示不会修改类中的数据成员;在编写const成员函数时,若不慎修改了数据成员,或者调用了其他非const成员函数,编译器将指出错误;以下程序中,类stack的成员函数GetCount仅用于计数,从逻辑上讲GetCount应当为const函数。class Stack{ public: void Push(int elem)...转载 2018-07-30 16:24:07 · 4414 阅读 · 0 评论 -
_stdcall 与 _cdecl 区别
_cdecl是C和C++程序的缺省调用方式,每一个调用它的函数都包含清空堆栈的代码,所以产生的可执行文件大小会比调用_stdcall函数的大。函数采用从右到左的压栈方式,VC将函数编译后会在函数名前面加上下划线前缀。 _stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式,自己在退出时清空堆栈。VC将函数...转载 2018-08-06 20:49:57 · 430 阅读 · 0 评论 -
【C++】 fstream 与freopen 小结
转发自: https://blog.csdn.net/seadplus/article/details/7802346 fstream()解析https://blog.csdn.net/jacky_chenjp/article/details/70237418 freopen()解析 C++文件流:fstream // 文件流ifstream // 输入文件流ofstr...转载 2018-08-19 10:24:33 · 2111 阅读 · 1 评论 -
【C++】稳定排序和不稳定排序
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白到底为什么是稳定或者不稳定的人准备的。 首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序...原创 2018-08-20 21:01:13 · 4739 阅读 · 0 评论 -
【C++】【数据结构】一步一步写平衡二叉树[AVL]
转载:有修正,原作者存在一些错误,这里进行了更正。/* 平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体 第一个引入平衡概念的二叉树。 特点:对于每一个结点,它的左右子树的高度之差不能超过1, 若插入或删除一个节点之后使得高度之差大于1,就要进行节点 之间的旋转,将二叉树重新维持在一个平衡状态。 这个方案很好的解决的了二叉查找树退...转载 2018-10-16 15:42:30 · 559 阅读 · 0 评论 -
【C++】串口通信IN C++(适用于Microsoft Visual Studio 2010/2012/2013 ,VC++6.0 )
向无数拼命工作的 程序猿 及 攻城狮 致敬!软硬件平台简介 CPU:P4 2G及以上兼容于80x86架构的中央处理器 内存:1G及以上 硬盘:80G及以原创 2016-05-22 21:16:15 · 12804 阅读 · 1 评论 -
【C++】Visual Studio 2012 MFC界面组件背景美化
MFC添加背景图像的方法: 给按钮添加背景图像的方法:首先,切换“解决方案资源管理器”到“资源视图”,右击项目->添加资源->Bitmap->导入,导入所需的*.bmp图片,如下图,最后在资源视图里的生成新的文件夹Bitmap,如下图所示,特别要记住图片的ID号。 然后在源文件中的OnInitDialog()函数里添加原创 2016-05-30 21:36:49 · 5525 阅读 · 2 评论 -
【Get深一度】CButtonST v3.9 (MFC Flat buttons)
一个功能齐全的所有者绘制按钮类 - 它有地段!Download demo project - 902 Kb 点击打开链接http://www.codeproject.com/KB/buttons/cbuttonst/CButtonST_demo.zipDownload source - 19 Kb点击打开链接http://www.codeproject.翻译 2016-05-31 11:26:00 · 4609 阅读 · 3 评论 -
【C++】Visual Studio 2012 MFC中添加OnTimer时间函数
手工添加时间函数步骤:——> |* 首先,ClassView(类视图)中在类名上点右键选中C***Dlg类(就是你自己的对话框类)——> |* 然后,在属性页里的“消息”下选择WM_TIMER消息,点右边的空白处出现个下箭头,就用那个添加消息处理函数OnTimer就行了。另一种方法:自己手动添加OnTimer: 在消息映射列表里加上ON_WM_TIME原创 2016-06-08 22:08:06 · 7476 阅读 · 0 评论 -
【matlab/C++】MATLAB直接生成Java&C/C++代码
MATLAB可以直接生成Java&C/C++代码原创 2016-06-10 16:52:36 · 4328 阅读 · 0 评论 -
【C++】Visual Studio 2012 MFC——Expression: _pFirstBlock==pHead解决办法
遇到调试错误:Expression: _pFirstBlock==pHead。查阅了好久不知道是什么原因。最后发现是工程设置问题。现已经解决了。----------》debug版下:属性--配置属性--C/C++--代码生成--运行库:Multi-threaded Debug DLL (/MDd)1>e:\visual studio\vc\atlmfc\include\原创 2016-06-11 21:52:52 · 3291 阅读 · 1 评论 -
【C++】队列容器 头文件 #include<queue> 解读
简介容器适配器Code1 简介队列容器 头文件 #include 解读这个头文件定义了两个跟队列有关的类----quque、priority_queue,分别实现的是队列 和 优先队列这两个概念。 但是与这两个类模版与其它类模版(vector、array等)最大的不同是,它们是 容器适配器。2 容器适配器顾名思义,容器适配器是对容器的适配,从代码层面来讲原创 2017-03-21 22:05:05 · 6447 阅读 · 0 评论 -
【C++】(++a)和(a++)区别解读
简介code&result1 简介++a和a++,都是个表达式,最后的结果就取决于是先加,还是后加;如果是先加,那么最后的表达式的结果就是a的值加1;如果是后加的话,则表达式的值就是原来a的值;无论是先加,还是后加,a的值计算后一定会加1;2 CodeI.在表达式中 若 a = 1, b = a++ ==>> 运算完 b = 1, a = 2 【先赋值,后 + 1】 若原创 2017-03-26 23:02:05 · 6156 阅读 · 0 评论 -
【面试常见问题】【C++】指针和引用的区别,有哪些不同点,细细道1
首先咱们弄清楚复合类型(Compound type)这个概念,因为指针和引用是Compound type中的两种!引用(reference):何谓“引用”,这么说吧,相信每个人都有个乳名,后来等到你升学入职啥的发现乳名B格很Low ! 这时候需要为自己起另外一个名字,这就是引用 !引用就是为对象另起了一个名字。先明确一下面这两个‘“混蛋”!变量定义相信不少C原创 2017-07-16 15:00:46 · 978 阅读 · 1 评论 -
【面试常见问题】【C++】指针和引用的区别,有哪些不同点,细细道2
在上一篇中,咱们弄清楚指针和引用的基本区别,下面从「高质量c++编程」的角度剖析指针与引用!一、什么时候用 指针与引用?首先,有几个意识。Firstly, 任何情况下引用都不能用指向空值,引用必须总是指向某个对象。Secondly, 若用某变量(对象)指向另一个变量(对象),且该变量(对象)具备指向任何对象的能力,这时最好将变量(对象)声明为指针,因为指针可以不指向任何变量(原创 2017-07-16 22:18:11 · 436 阅读 · 1 评论 -
【基础常识】常见变量类型在内存中占用大小
在这一篇,咱们弄清楚一些常见变量类型在内存中的占用!/*----------------------------------------------------------------------------- OS:Win10 x86_64 IDE:VS2012 Ultimate win32控制台原创 2017-07-17 09:30:00 · 4282 阅读 · 1 评论 -
【C++】指针测试,单步调试,细观指针本身和指针变量所有变化
#include // #include using namespace std; int main(){ int i = 333; int *pi = nullptr; int *pi0 = NULL; int *pi1 = 0; int *pi2 = &i; int *pi3; int *pi4; int *pi5; pi3 = pi2; //*pi3 = pi原创 2017-07-17 10:23:41 · 399 阅读 · 0 评论 -
【C++】随机生成数组->冒泡排序->二分查找
二分查找也属于顺序表查找范围,二分查找也称为折半查找。二分查找(有序)的时间复杂度为O(LogN)。基本思想是, 在有序表中,取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间记录的关键字,则在中间记录的左半区继续查找;若给定值大于中间记录的关键字,则在中间记录的右半区继续查找。不断重复上述过程,直到找到为止。使用二分查找有两个前提条件:1原创 2017-07-17 17:51:17 · 1115 阅读 · 0 评论 -
【C++】【C】浅谈C 与 C++ 的区别【标准又更新了。.】
项目需要,不禁想起C和C++究竟有什么区别?老师给了回答, C++ 几乎是 C 的超集 ,所谓超集,就是全面包含的意思,只有少量功能 C++ 不支持。引用(reference):何谓“引用”,这么说吧,相信每个人都有个乳名,后来等到你升学入职啥的发现乳名B格很Low ! 这时候需要为自己起另外一个名字,这就是引用 ! 是一个过程,引用就是为对象另起了一个名字。翻译 2017-07-19 16:17:01 · 399 阅读 · 0 评论 -
【C++】【入门学习】理解复杂的数组声明
首先,数组能存放大多数类型的对象。分一下情况:定义存放指针的数组【难度:一颗星】定义指向数组的指针【难度:三颗星】定义数组的引用【难度:三颗星】int *ptrs[10]; // array containing 10 int pointersint &ptrs[10] = ?; // unwork, wrong writingint (*ptrs)[10] = &原创 2017-07-20 10:40:41 · 291 阅读 · 0 评论 -
【备查】C++程式语言中的所有运算子的优先级和结合性列表
转载自:冷夜 - 网游编程技术以下是C++程式语言中的所有运算子的优先级和结合性列表优先级运算子叙述示例重载性结合性1::作用域解析(C++专有)Class::age = 2;否由左至右2++后缀递增i++转载 2017-07-20 16:53:48 · 564 阅读 · 0 评论 -
【C++】【内附前辈贴】浅谈指针的指针
首先贴一个链接:如何理解指向指针的指针? 然后强调一下,结合前辈有助于消化指针的指针!!下面博主动手实践,发此学习贴,希望对大家有些许帮助。首先,定义一下整型常量和整型指针变量:int i = 4 ,j = 6 ,k = 111;int *iptr = &i, *jptr = &j;next,定义指针的指针(双重指针):int **doublePtr = &iptr;现在指原创 2017-07-21 22:03:20 · 832 阅读 · 0 评论 -
【C++】【日志贴】浅谈标准库类型string、vector及C风格字符串在全局和局部作用域中默认初始值情况
平时练习发现这个问题,记录一下。C风格字符串在全局和局部作用域中初始值情况【空字符+未定义的字符】标准库类型string、vector在全局和局部作用域中默认初始值情况【空格+空格】原创 2017-07-22 00:26:39 · 451 阅读 · 0 评论 -
【C++】【C++ Premier 习题集 P75页程序纠错没成功!欢迎指教】
平时练习发现这个问题,记录一下。在C++ primer 书中,直接在常量表达式中使用strlen函数,然而实际上常量表达式只允许一个确定的值。所以在实际应用时无法通过IDE的命令行检查。【据说新标准允许了,可我的VS2012依然不允许,ORZ】大家可以看到,我特意又试了一下将函数调用单独拿出出来赋值给length,这下躲避了函数调用的问题,可IDE仍然检查不通过,为什么呢?因为le原创 2017-07-22 11:33:17 · 402 阅读 · 0 评论 -
【C】快速傅里叶变换(FFT)讲解及实现
引言基2FFT1.引言人类的求知欲是永无止境的,自1965年 T. W. Cooley 和 J. W. Tuky 在《Math. Computation, Vol, 19, 1965》发表了著名的《An algorithm for the machine calculation of complex Fourier series》,人们对有关傅里叶变换的改进和创新就从未止步。1984年原创 2017-07-29 11:55:23 · 10765 阅读 · 2 评论 -
【C++】POJ 刷题指南
经过某大神初步的整理,一个比较完整的归类已经完成,现在发布给大家,希望可以方便大家练习,如有不足,还请大家见谅,这个可能会随时有更新,请大家注意.如果有什么要求或补充的可以跟贴提出,勿水!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739,poj1083,poj2转载 2017-08-13 23:41:23 · 1788 阅读 · 0 评论 -
POJ 1001
#include //大数相加using namespace std;#define max 200int main(void){ int arr[max] = {0}, n, set = 0; char cArr[20]; //存输入的字符串 while (cin >> cArr >> n) { int cLen = strlen(cArr), pointNum,原创 2017-08-14 09:17:49 · 233 阅读 · 0 评论