C++学习笔记1
将最近工作中,方向转换比较快,经常一个季度做这个,一个季度做那个,遇到一些常用的C++语法,而记性不太好经常忘记,整理一下笔记,将一些自己喜欢用的语法记录下来,方便自己查阅。
map用法: std::map<int, ststructInfo&g...[2021/1/4]
C++丨for循环与while循环的最大区别,原来是这样...
C++中for循环和while循环的区别
这两者之间最大的区别就是for循环一般应用于循环次数已知的情况,而while循环一般应用于循环次数未知的情况。在一般情况下,这两者是可以相互转化的。
举一个简单的例子:求1-100的和。
#include<bit...[2021/1/4]
Primer c++ 第5版PDF电子书推荐
点击领取《Primer c++ 第5版》PDF电子书 提取码:az4e
C++ Primer中文版 (第5版)是久负盛名的 C 经典教程,时隔八年之久,终于迎来重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C 大师 Stanley B. Lippman 的丰富实践经验,...[2021/1/4]
什么是C ++中的内存泄漏?会导致什么问题?什么是C ++中的内存泄漏?会导致什么问题?
当程序员先前未分配的一块内存(或多于一部分)没有正确分配时,就会发生内存泄漏。即使该程序不再使用该内存,它仍然是“保留”的,并且直到程序员适当地重新分配该内存后,程序才能使用该内存。
这就是所谓的内存泄漏的原因,因为它就像是浪费水的漏水龙头,仅在这...[2021/1/4]
【腾讯C++面试题】如何才能获得腾讯的offer?掌握这20道终身受益!【腾讯C++面试题】如何才能获得腾讯的offer?掌握这20道终身受益!
1、.C++里面如何声明constvoidf(void)函数为C程序中的库函数?
正确答案:
在该函数前添加extern “C”声明。由于编译后的名字不同,C++程序不能直接调用C 函数。
2、c++中类和c语言中struct的区别(至...[2021/1/4]
【STL 源码剖析】浅谈 STL 迭代器与 traits 编程技法
大家好,我是小贺。
点赞再看,养成习惯
文章每周持续更新,可以微信搜索「herongwei」第一时间阅读和催更,本文 GitHub : https: github.com/rongweihe/MoreThanCPlusPlus 已经收录,有一线大厂面试点思维导图,也整理了很...[2021/1/4]
Linux进程创建之fork浅析
在Linux 内核中,无时无刻不维护着进程,从进程的创建到进程销毁,每一个环境都有着复杂的细节。本篇介绍Linux 内核如何创建进程,深入理解 fork 函数以及子进程的创建,对理解多进程开发也至关重要。
目录fork() 函数fork() 示例父子进程的虚拟地址空间
fork() ...[2021/1/4]
C++雾中风景16:std::make_index_sequence, 来试一试新的黑魔法吧
C++14在标准库里添加了一个很有意思的元函数: std::integer_sequence。并且通过它衍生出了一系列的帮助模板:
std::make_integer_sequence, std::make_index_sequence, std:: index_sequence_f...[2021/1/4]
C++读写配置项的基本操作
读写配置项,在编程当中是非常常用的东西。读写的数据量很小的时候,就没必要用数据库或者Excel之类的东西。今天特意总结下C++、还有Qt读写配置项的操作。其实操作非常简单。废话不多说,下面直接上代码。
C++ 写配置项
#include <iostream>
#in...[2021/1/4]
C++遍历磁盘驱动器的示例代码
#include <stdio.h>
#include <windows.h>
typedef struct tagDRIVER
{
(1)磁盘盘符
wchar_t disk;
(2)磁盘总的大小
double all;
...[2021/1/4]
C++保留有效位与保留小数位C++保留有效位与保留小数位
如果想要保留n位小数
根据C++官网上的解释,该函数没有指定的返回类型,并且该函数用于设定输出操作上的小数精确位。
然后返回值中解释:未指定返回值,这个函数仅用于数据流修改操作上。
说了这么多,我想要表达的...[2020/12/28]
windows下IPv4通信(C++、MFC)windows下IPv4通信(C++、MFC)
Cilect
#include <stdio.h>
#include <Ws2tcpip.h>
#include <winsock2.h>
#define HELLO_PORT 7905
#define HELLO_GROUP "224.0...[2020/12/28]
windows下IPv6组播(C++、MFC)
Server
#include <stdio.h>
#include <Ws2tcpip.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
?
#define P...[2020/12/28]
十大经典排序算法
转载自:十大经典排序算法(动图演示)0、算法概述0.1 算法分类 十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。
非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序...[2020/12/28]
ubuntu下vim配置成c++开发编辑器
整体的vim的设置是在 /etc/vim/vimrc 文件中。如果想设置所有用户的配置,在里面设置就可以了,配置和.vimrc是一样的,在最后面添加下面的语句。
不建议修改/etc/vimrc 文件,每个用户可以在用户根目录中设置vim,新建.vimrc。命令如下:
vim ~/....[2020/12/28]
C++丨如何检查链表中的循环?这5个方案,真是太绝了!
通过5个解决方案教你C++中检测链表中的循环,快来看看,是否对你有帮助!
给定一个链表,检查链表是否有循环。下图显示了带有循环的链表。
?
以下是执行此操作的不同方法
解决方案1:散列方法
遍历该列表,并将节点地址始终放在哈希表中。在任...[2020/12/28]
C ++中的std :: string类
C ++在其定义中具有一种将字符序列表示为cla 对象的方式。此类称为std ::字符串。字符串类将字符存储为字节序列,并具有允许访问单字节字符的功能。
std ::字符串与字符数组
字符数组只是可以用空字符终止的字符数组。字符串是一个类,用于定义表示为字符流的对象。
...[2020/12/22]
现代C++ 阅读笔记;https://github.com/changkun/modern-cpp-tutorial现代C++ 阅读笔记;https://github.com/changkun/modern-cpp-tutorial
前言:
本文主要是《现代C++教程》一书的阅读笔记。
之前本科的时候,是通过学习C语言入的门,之后也是一直带着C语言的习惯来进行编程;大一在软院的时候,接触的是Java,开始使用面向对象语言进行编程。大二后转到了计算机学院,虽然计算机学院的学生都是通过C++语言来入门,但是因为很多课...[2020/12/21]
想学习网络协议?那你知道关于 https 的五大误区吗?赶紧补课
如今,https协议正在被广泛重视和使用。随着今年2月初,谷歌旗下Chrome浏览器宣布将所有http标示为不安全网站,许多网站都争相从http升级到了https。当你打开很多网站时,会发现浏览器左上角有一把绿色的安全锁,这把锁就证明该网站已经使用了https加密保护。
 ...[2020/12/21]
信息学赛事
清华、北大争相录取他们,信息学奥赛究竟是什么?_手机搜狐网
为什么清华北大争着抢信息学竞赛顶尖学生?看完你就知道了!_手机搜狐网?m.sohu.co
记住这句话:只要你能进大学的门,一切都好说
信息学竞赛如何获奖? 2018-09-10 10:15
...[2020/12/21]
今日份知识分享:C++ 变量作用域
作用域是程序的一个区域,一般来说有三个地方可以定义变量:
在函数或一个代码块内部声明的变量,称为局部变量。
在函数参数的定义中声明的变量,称为形式参数。
在所有函数外部声明的变量,称为全局变量。
我们将在后续的章节中学习什么是函数和参数。本章...[2020/12/21]
【C++学习笔记】如何找出字符串中出现最多的字符和次数?
今天小编就为大家分享一篇关于C++找出字符串中出现最多的字符和次数,时间复杂度小于O(n^2),小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。
已知字符串“aabbbcddddeeffffghijklmnopqrst”编...[2020/12/21]
田忌赛马 贪心算法
算法实验课回顾
田忌赛马
问题描述:
你一定听说过田忌赛马的故事吧?如果3匹马变成n匹(n<=100),齐王仍然让他的马按照优到劣的顺序初赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到200两银子;输一局,田忌就要输掉200两银子。已知道国王和田忌的所有马的奔...[2020/12/21]
【C++学习笔记】一分钟带你了解C++中new和delete的使用方法!
我们在学习C++的过程中,通常会遇到指针和new和delete的,这充分说明了它的重要性,今天小编就为大家带来C++中new和delete的用法,希望对你学习有帮助!
一、new用法
1. 开辟单变量地址空间
使用new运算符时必须已知数据类型,new...[2020/12/21]
C/C++编程笔记:C++的修饰符类型
C++ 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。
下面列出了数据类型修饰符:
signed
unsigned
long
short
...[2020/12/21]
【C++学习笔记】C++ 使用new与delete时,你注意到这3个地方了吗?
C++的动态内存管理是通过new和delete两个操作来完成的,即用new来申请空间,用delete来释放空间。在使用new和delete时,注意以下原则。
1.new与delete需一一对应
用new操作申请空间,如果申请成功,必须在以后的某个时刻用delete...[2020/12/21]
有人说C++20变得越来越陌生,从颜值派到理性派,浅谈对C++的看法!
背景
之前看到了一篇很有意思的帖子“C++20会变得陌生”。楼主贴出了分别用C++11 和 C++20编写的代码,如下:
以上代码实现了数据操作:
● 从向量v里筛选出偶数的元素
&nbs...[2020/12/21]
C++ 时间 & 日期
C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 <ctime> 头文件。
有四个与时间相关的类型:clock_t、time_t...[2020/12/21]
你说C语言垃圾,80%的学校还在给新生上,它们会OUT吗?
之前分享过一篇文章,展示C语言的伟大一面,然后有人在下方评论了一个“垃圾”。
我个人认为,你不喜欢C语言,也不应当诋毁它。你有你喜欢的语言很好,但是你不能因此说其他的语言“垃圾”。这个道理也适应在很多方面。
所以今天就来为大家分享一下这一篇文章,作者学习编程已经超过十年,这个过程中,...[2020/12/21]
62.QT-QScroller实现home界面滑动效果
由于QScroller至少qt5.0以上,如果版本过低,建议去看58.tablewidget模拟手指实现滑动章节,来自定义实现滑动器.
在学习本章之前需要知道滑动的关键词:
鼠标按下,鼠标滑动 : 指的是用户按下屏幕,然后进行移动的操作,此时用户滑动多少距离,那么视图就偏移多少距...[2020/12/21]
【C/C++】C和C++11之enum枚举的使用细节
作者:李春港
出处:https: www.cnblogs.com/lcgbk/p/14101271.html
目录一、前言二、C中的枚举(enum)2.1 C中枚举的大小2.2 C中枚举的取值范围三、C++11中的枚举(enum)3.1 c++11中新增枚举大小的控制3.2 c++1...[2020/12/14]
c++prime笔记八、 IOc++prime笔记八、 IO
8.1 IO类
IO库类型和头文件
头文件
类型
iostream
istream,wistream:从流读取数据 ostream,wostream:向流写入数据 iostream,wiostream:写入流
fstream
ifstream,wifstream:从文件...[2020/12/14]
图 Graph图 Graph
本文主要内容为:图的定义以及基本术语
图的定义
图
图G的组成:由 数据元素的集合E 和 数据间的关系集合E 组成,记作:G = <V, E>
顶点 (vertex):数据元素,V就是顶点的有穷非空集合
边 (edge): 顶点的序偶对,例如 ...[2020/12/14]
图的代码实现 (邻接矩阵)
本文的主要内容为:图的C++代码实现 (邻接矩阵法),主要为各个类的声明
边类
1 Author: SihanLin
2 FileName: Edge.h
3
4 图的边类
5 cla CEdge{
6 public:
7 in...[2020/12/14]
[C++]ifstream和getline获取中文乱码解决方案
读取Ini文件的类踩了一个坑,当配置文件有中文参数时候,没法正确读取。读到的全是乱码。查询了很久才发现ifstream本身就无法正常读取包含中文路径的文本(具体的解决方案就不细说了网上一堆)。这里主要讲一下getline读取到乱码的解决办法。
原文连接:点击这里查看原博主文...[2020/12/14]
C++ 之父:C++ 是一切的无形基础,透露编程语言生存 40 年秘诀!C++ 之父:C++ 是一切的无形基础,透露编程语言生存 40 年秘诀!
C++ 的起源可以追溯到 40 年前,但它仍然是当今使用最广泛的编程语言之一。
到 2020 年 9 月为止,C++ 是仅次于 C 语言、Java 和 Python,位于全球第四的编程语言。根据最新的 TIOBE 索引,C++ 也是增长最快的语言。
近日,C++...[2020/12/14]
c++基础--operator+定义在类内还是在类外
操作符重定义
若不用this,操作符应该定义在类外
#pragma once
#ifndef _COMPLEX_
#define _COMPLEX_
cla complex;
complex&
_doapl(complex* ths, const complex&...[2020/12/14]
C++类的构建--complex(复数)类的设计过程与思考总结
项目
1.设计complex(复数类)
? 需求:1)实部,虚部re,im
? 2)重写+=符号,调用friend_doapl函数,对两个复数进行相加 其中+=函数调用一个全局函数_doapl(complex*,complext&)进行处理。这里只用完成两个复数的相加
...[2020/12/14]
图的代码实现(邻接矩阵)
不知上期各位读者思考得怎么样了,这期的文章是接上一期的。
本文的主要内容为:图的C++代码实现 (邻接矩阵法),主要为各个类的具体实现
图的抽象基类
1 FilenName: Graph.cpp
2
3 #include "Graph....[2020/12/14]
c++类的构建-构建自己的string类 深拷贝
成员变量带指针的string类构建
首先看测试案例:
#include "string.h"
#include <iostream>
using namespace std;
int main()
{
String s1("hello");
String s2...[2020/12/14]
今日份编程知识分享,C++的循环结构!
循环结构
所谓的循环结构简单来说就是不停的重复一个过程,通过一个判断条件来决定是否退出循环。循环可谓是真正开始体现计算机强大处理能力的时候,例如时钟的运行、游戏的人物移动、动态的屏幕显示等等,这些都是通过不停的循环来实现的。
一个基本的循环结构有以下三个要素:循环变量、循环体和循环终止...[2020/12/14]
C/C++编程笔记:那些不为人知的"恶意代码"(一)切记小心使用
恶意代码的分类包括计算机病毒、蠕虫、木马、后门、Rootkit、流氓软件、间谍软件、广告软件、僵尸(bot) 、Exploit等等,有些技术经常用到,有的也是必然用到。
恶意代码常见功能技术如下:进程遍历,文件遍历,按键记录,后门,桌面截屏,文件监控,自删除,U盘监控。知己知彼,百战不...[2020/12/14]
C\C++ 基础知识点整理(二)
局部变量能够和全局变量重名吗?
答:可以重名,如果局部变量和全局变量重名,则默认在函数中访问的相同标识符是代表局部变量,如果要访问全局变量,则可以在标识符前面加上::即可,::在此处表示要访问全局域中的标识符。
请简述extern关键字在C++语言中的作用?
答:有两个作用,作用一是...[2020/12/8]
c++11-17 模板核心知识(十)—— 区分万能引用(universal references)和右值引用
引子
如何区分
模板参数
const disqualify universal reference
auto声明
引子
T&&在代码里并不总是右值引用:
void f(Widget&& param); rvalue refe...[2020/12/8]
vs2019 Com组件初探-简单的COM编写以及实现跨语言调用
前提条件
1、掌握C++基础语法
2、平台安装 vs2019
3、本地平台为 windows 10 1909 X64
4、了解vbs基础语法
本次目标
1、掌握Com组件的概念及原理
2、编写一个简单的以DLL形式展现的Com组件
...[2020/12/8]
C++基础--指针定义时候容易发生的错误
指针定义时候容易发生的错误
定义指针的时候记得将 "*"与指针变量写在一起,不要和 char这种基本数据类型写在一起。
#include <iostream>
#include <typeinfo>
using namespace std;
int main(...[2020/12/8]
牛客题霸NC78反转链表c++题解
原题链接
题意:
跟题目名称一样
解法:
反转链表(单向),就是让每个元素的\(next\)指向的元素的\(next\)只回来。
那就新建一个指针来记录上个元素,进行操作。
但是上面操作有一点小问题:无法向后转移。
解决方案:直接再开一个指针来记录当前元素的\(next\)即可...[2020/12/8]
vs2019 Com组件初探-实现vbs的CreateObject函数逻辑
vs2019 Com组件初探-简单的COM编写以及实现跨语言调用
上一篇实现了如何编写基于IDispatch接口的COM以及vbs如何调用编写的COM
本次主要是实现VBS的CreateObject函数的逻辑,也就是在不知道类名的情况下如何调用基于IDispathc接口的COM
&...[2020/12/8]
c++11-17 模板核心知识(十一)—— 编写泛型库需要的基本技术c++11-17 模板核心知识(十一)—— 编写泛型库需要的基本技术
Callables
函数对象 Function Objects
处理成员函数及额外的参数
std::invoke<>()
统一包装
泛型库的其他基本技术
Type Traits
std::addre of()
std::declval
完美转发 Perfec...[2020/12/8]
c++ 从vector扩容看noexcept应用场景
c++11提供了关键字noexcept,用来指明某个函数无法——或不打算——抛出异常:
void foo() noexcept; a function specified as will never throw
void foo2() noexcept(tr...[2020/12/8]