C++基础--指针---返回指针时栈被移除的坑C++基础--指针---返回指针时栈被移除的坑
1.函数局部变量地址释放的坑
main()调用test()方法,返回a的地址,但是a是test()的局部变量,因此在test()调用结束之后,test()的栈空间就被移除,a的储存空间被释放,即使保存了指向a的指针,也无法获得10. 第一次能得到10的原因是编译器优化保留了一次数据。
...[2020/12/8]
【C++】C++之Lambda表达式
作者:李春港
出处:https: www.cnblogs.com/lcgbk/p/14088462.html
目录一、前言二、Lambda表达式格式说明2.1 完整的Lambda表达式格式2.2 常见的Lambda表达式格式2.3 lambda 表达式捕获列表三、示例3.1 STL的...[2020/12/8]
面试必备好文丨面试官:进程和线程,我只问这19个问题!
以下文章来源于程序喵大人 ,作者程序喵大人
下面隆重推出我呕心沥血,耗时半个月完成的精心力作:
什么是进程?
标准定义:进程是一个具有一定独立功能的程序在一个数据集合上依次动态执行的过程。进程是一个正在执行程序的实例,包括程序计数器、寄存器和程序变量的当前值。
简单来说进程...[2020/12/8]
hello world
从今天起你就是一名程序员了 —— 2019.09.16
开始你的第一个 C / C++ 程序
C 版本
1 #include <stdio.h>
2
3 int main(){
4 printf("hello world");
5 return 0...[2020/12/8]
C++20初体验——concepts
引子
凡是涉及STL的错误都不堪入目,因为首先STL中有复杂的层次关系,在错误信息中都会暴露出来,其次这么多类和函数的名字大多都是双下划线开头的,一般人看得不习惯。
一个经典的错误是给std::sort传入std::list<T>的迭代器:
#include <li...[2020/12/8]
c++11-17 模板核心知识(十三)—— 名称查找与ADL
名称分类
名称查找
ordinary lookup
ADL (Argument-Dependent Lookup)
官网的例子
ADL的缺点
在C++中,如果编译器遇到一个名称,它会寻找这个名称代表什么。比如x*y,如果x和y是变量的名称,那么就是乘法。如果x是一个类型的名称,...[2020/12/8]
C++基础--指针 野指针和free
野指针的重复释放问题
最近发现了这样一个问题,一个指针释放两次之后,若在中间不置空,会报Invalid addre specified to RtlValidateHeap 无效的堆地址 错误。
#include <iostream>
#include <stri...[2020/12/8]
MFC的大致讲解MFC的大致讲解
现在使用MFC框架的人越来越少了,现在大家都在用QT框架来写,对应初学者就我感觉来说,MFC真的是一个很好的框架,现在在工业方面使用的几乎都是MFC,所以以后就业想要往工业方面找C++工作,可以好好看看MFC,今天先讲一部分接下来每天更新一段我的见解。
1.如何能成为一名优秀的程序员?...[2020/11/23]
IPV6兼容IPV4通信程序升级改造之经典源代码解析
IPV6兼容IPV4通信程序升级改造之经典源代码解析#
IPV4升级改造# #IPV6兼容IPV4# #IPV4通信程序升级改造# #IPV6兼容IPV4通信程序开发#
一、IPV6兼容IPV4通信程序升级改造背景
IPv6是英文“Internet Protocol Version 6...[2020/11/23]
c++实现扫雷游戏 初学
设计思路
全局变量定义地图和一些判断信息
创建三个地图 分别表示 源地图 显示的效果地图 和一个用来判断点位是否被选中的地图
功能:
玩家输入要翻开的格子的行数和列数。用一个函数来翻开目标格子,如果是地雷游戏失败,可以选择是...[2020/11/23]
【原创】QWidget如何平滑过渡到Qt Quick
Qt Quick优势
1.在以往项目的开发过程中,对于PC端 UI的需求,我们使用QWidget完全能够在主流桌面操作系统上实现跨平台的开发工作;但是当遇到可触碰交互的用户界面,并要求在除了主流桌面操作系统,在移动操作系统上也要实现可观的产品时,Qt Quick的适配性更好
2.同时使用C...[2020/11/23]
QT中实现C++使用线程操作
自C++11开始后C++有了标准的线程库:std::thread,各种支持C++11及更改版本的IDE都可以使用,便于是使用C++开发多线程库供多平台使用。
话不多说,直接上代码简单明了:
例程1:
运行后发现线程函数正常运行,但是程序会报错,...[2020/11/23]
MFC详解
MFC的消息响应机制详解:
1.MFC是Windows下程序设计的最流行的一个类库,但是该类库比较庞杂,尤其是它的消息映射机制,更是涉及到很多低层的东西,接下来详细讲解。
2.在讲解MFC的消息响应之前先讲解一下SDK的消息响应: SDK下的消息机制实现
讲解一下SDK下...[2020/11/23]
C/C++项目开发:用C++编写单击版局域网考试系统
在线考试是指通过操作计算机在网络上进行考试整个过程的一种考试形式,主要包括在线的考试系统、评分系统、在线的管理系统和在线的阅卷系统等模块。该系统采用MVC模式实现。能对不同的管理员分配权限,系统根据用户设定好的难度,分数,题目数量等信息在考生登陆测试的时候从题库中抽题生成考卷。是现如今比...[2020/11/23]
C/C++编程笔记:C++实现管理系统(通讯录管理系统代码全解)C/C++编程笔记:C++实现管理系统(通讯录管理系统代码全解)
概述
系统中需要实现的功能如下:
(1)添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人
(2)显示联系人:显示通讯录中所有的联系人信息
(3)删除联系人:按照姓名进行删除指定联系人
(4)查找联系人:按照姓名查看指定联系人信息
...[2020/11/23]
【源码分享】用C++实现通讯录管理系统!功能齐全,实属精品!
概述
系统中需要实现的功能如下:
? 添加联系人:向通讯录中添加新人,信息包括(姓名、性别、年龄、联系电话、家庭住址)最多记录1000人
? 显示联系人:显示通讯录中所有的联系人...[2020/11/23]
C/C++基础进阶篇:C++11 中引入的 delete 描述符使用场景
C++11 中引入的 delete 描述符主要有如下两个使用场景:
禁止编译器自动生成拷贝
Effective C++中提到
通过“私有化 + 只声明、不定义” 的方法禁止编译器生成某些拷贝构造函数、拷贝操作符等。
在C++11及以后,可以通过...[2020/11/23]
华为程序员总结:C/C++的陷阱与套路,当年就是折在这些地儿…
本文结合作者的工作经验和学习心得,对C++语言的一些高级特性,做了简单介绍;对一些常见的误解,做了解释澄清;对比较容易犯错的地方,做了归纳总结;希望借此能增进大家对C++语言了解,减少编程出错,提升工作效率。
一、导语
C++是一门被广泛使用的系统级编程语言,更是高性能后端标准开发...[2020/11/23]
QT命名规则与快捷键
吼吼 初学qt
来记录一下QT命名规则与常用快捷键
命名规范 类名 首字母大写,单词和单词之间首字母大写 函数名 变量名 首字母小写,单词之间首字母大写
快捷键 注释 ctrl + / 运行 ctrl + r 编译 ctrl + b ...[2020/11/23]
如何优雅的传递 stl 容器作为函数参数来实现元素插入和遍历?
问题背景
开始正文之前,做一些背景铺垫,方便读者了解我的工程需求。我的项目是一个客户端消息分发中心,在连接上消息后台后,后台会不定时的给我推送一些消息,我再将它们转发给本机的其它桌面产品去做显示。后台为了保证消息一定可以推到客户端,它采取了一种重复推送的策略,也就是说,每次当我重新连接上...[2020/11/16]
【QT】QtConcurrent::run()+QThreadPool实现多线程
往期链接:
《QThread源码浅析》
《子类化QThread实现多线程》
《子类化QObject+moveToThread实现多线程》
《继承QRunnable+QThreadPool实现多线程》
本文章实例的源码地址:https: gitee.com/CogenCG/QThread...[2020/11/16]
【QT】跨线程的信号槽(connect函数)
线程的信号槽机制需要开启线程的事件循环机制,即调用QThread::exec()函数开启线程的事件循环。
Qt信号-槽连接函数原型如下:
bool QObject::connect ( const QObject * sender, const char * si...[2020/11/16]
C/C++编程日记:策略打怪文字类小游戏(修复优化版附源码)
这个游戏很简单就是一个for循环和几个while和多个if语句组成的游戏:
#include<iostream>usingnamespacestd;intmain(){intshengming=30,gongji=10,jinbi=10,smsx=30,d...[2020/11/16]
C/C++编程日记:Tip of the Week string_view
这个tip的背景是,将字符串作为函数参数进行传递。
常规方法
将字符串作为函数参数进行传递,容易想到的是以下两个方法:
voidTakesCharStar(constchar* s); C
voidTakesString(conststri...[2020/11/16]
c++ websocketpp获取nginx反代后的客户端真实ip
websocketpp获取nginx反代后的客户端真实ip
测试代码:
server::connection_ptr con = m_server.get_con_from_hdl(hdl);
auto addr = con->get_socket().remote_endp...[2020/11/16]
Qt5没有QFTP解决方法[非原创]
https: blog.csdn.net/u013411873/article/detail 92390288
完全参考以上地址链接,复制粘贴党
1.下载QFtp源码
从 GitHub 下载 QFtp:
https: github.com/qt/qtftp
或者...[2020/11/16]
Qt学习之路
多年前听说过Qt的大名,但所有的探索都是浅尝辄止并未深入了解,2020年6月,一直困扰域MFC框架的繁琐和对Windows平台的限制,下定决心学习Qt,替代一直使用的MFC框架进行开发。本系列的内容是以工程实践为主,记录、总结我在工作过程中使用Qt时的内容,目标是尽快熟练的使用Qt,...[2020/11/16]
[ChaiScript]一个C++友好的嵌入式脚本语言
?? ChaiScript 简介
?? 官网: chaiscript.com
?? Github
关键词: script C++14 header-only
ChaiScript是一个直接以C++为目标从底层设计的嵌入式脚本语言,利用现代C++开发技术,按着开发人员的想法来工作。...[2020/11/16]
【QT】 Qt多线程的“那些事”
目录一、前言二、QThread源码浅析2.1 QThread类的定义源码2.2 QThread::start()源码2.3 QThreadPrivate::start()源码2.4 QThread::run()源码2.5 QThread::quit()、QThread::exit()、Q...[2020/11/16]
C/C++编程日记:将不同类型的对象放进同一个容器C/C++编程日记:将不同类型的对象放进同一个容器
前言:不同类型的对象,放进同一个容器。(下文以数组表示容器)
代理类
问题:
现有不同种类的交通工具类派生层次,如下:
cla Vehicle{
public:
virtualdoubleweight()const=0;
virtua...[2020/11/16]
如何让Visual Studio 2019更好用(VS2019配置指南)
今天电脑没带,借用外面的电脑配环境来用。刚下载完的VS是这样的:
UI挺好看的,但代码窗口看起来就和上个世纪的VC6没什么区别,快捷键用起来也不顺手。(2333)
接下来,我们将一步步优化编写环境,让VS2019更好用。
1.代码窗口
点击“工具...[2020/11/16]
虚函数&虚继承 - Zoey-L虚函数&虚继承 - Zoey-L
之前不了解虚继承,一度以为是和虚函数相关的东西,后来查了一下才知道是完全不相关的特性。特此记录一下。
目录虚函数1. 写法2. 意义3. 作用4. 原理虚继承1. 写法2. 意义3. 作用4. 原理
虚函数
1. 写法
类中的成员函数,定义时在最左侧加上virtual关键字,就被定...[2020/11/16]
使用 c++ 模板显示实例化解决模板函数声明与实现分离的问题使用 c++ 模板显示实例化解决模板函数声明与实现分离的问题
问题背景
开始正文之前,做一些背景铺垫,方便读者了解我的工程需求。我的项目是一个客户端消息分发中心,在连接上消息后台后,后台会不定时的给我推送一些消息,我再将它们转发给本机的其它桌面产品去做显示。后台为了保证消息一定可以推到客户端,它采取了一种重复推送的策略,也就是说,每次当我重新连接上...[2020/11/10]
【QT】子类化QObject+moveToThread实现多线程
往期链接:
《QThread源码浅析》
《子类化QThread实现多线程》
本文章实例的源码地址:https: gitee.com/CogenCG/QThreadExample.git
从往期《QThread源码浅析》可知,在Qt4.4之前,run 是纯虚函数,必须子类化QThre...[2020/11/10]
C/C++编程日记:逻辑井字棋(圈叉)游戏开发
问题描述:
3*3的棋盘中,只要一条线上出现三个一样的棋子就获胜(玩家或电脑);如果棋盘已经放满还未出现三个棋子一条线则打成平手。
具体细节:
初始化棋盘(用空格初始化)
初始化棋盘
voidinitChe (charche box[R...[2020/11/10]
CSP-S-2020
CSP-S-2020
T1 儒略日
向T1出题人致以最高的敬意(磕头)。
T2 动物园
简化题意:给出一些数,保证\(x∈[1,2^k-1]\)且互不相同,给出一些条件,如果存在数\(x\)第\(ai\)位为\(1\),那么就必须选物品\(bi\),\(bi\)互不相同。问有多少个数\...[2020/11/10]
【QT】继承QRunnable+QThreadPool实现多线程
往期链接:
《QThread源码浅析》
《子类化QThread实现多线程》
《子类化QObject+moveToThread实现多线程》
本文章实例的源码地址:https: gitee.com/CogenCG/QThreadExample.git
继承QRunnable+QThre...[2020/11/10]
C\C++ 基础知识点整理(一)C\C++ 基础知识点整理(一)
请简述C++语言中的标识符原则?
答:标识符只能由字母、数字、下划线组成;标识符只能由字母、下划线开头;标识符不能是关键字。
全局变量和局部变量在内存存储上有什么区别?
答:1. 全局变量存储在静态内存区,在程序进入入口点之前分配内存,在程序退出后释放内存,
2.局部变量存放在栈内存...[2020/11/9]
揭露C++的庐山真面目!网友:这才是真正的编程语言老大“C++”!
C++语言是一种混合型语言(20世纪80年代兴起),它保留了C语言所有的优点,同时又增添了面向对象的编程机制,我们可以将C++语言视为C语言的改进和扩展。
基于C语言开发的C++语言兼容C语言,因此用C语言编写的程序基本上可以不做改动地用于C++。相对于C语言,C++语言对C语言的功能...[2020/11/9]
编程代码:用C语言来实现下雪效果,这个冬天,雪花很美编程代码:用C语言来实现下雪效果,这个冬天,雪花很美
前言
1.本文主要围绕 如何 在 控制台上 下起 一场 只有自己能看见的雪
2.是个简易跨平台的,主要是C语言
3.动画 采用 1s 40帧, 雪花具有 x轴速度和y轴速度
4.比较简单,可...[2020/11/9]
2020年最全面的C++复习大纲!面向对象程序设计,只需这一份
1.叙述面向对象编程的特点是什么?(提示:封装、继承、多态。)
对比面向过程具有抽象、封装、继承和多态的特点。
封装是将抽象得到的数据和行为相结合,形成了一个有机整体,使得一部分成员充当类与外部的接口,而将其他成员隐藏了起来达到了对成员访问权限的合...[2020/11/9]
「MCOI-03」村国题解
第二篇题解!
可能是退役之前的最后一篇题解了
(好像总共都只写了两篇)
不说了,讲题:
题面
题意:
有T个数据
有一颗树(保证所有的的节点都是相连的),有n个节点,每个节点都有相应的权值与序号,现在你要进行M次操作,操作是:
找到权值最大的节点(如果有权值相同且又是最大的节点,则选择...[2020/11/9]
程序员告诉你:C/C++后台开发需要学习哪些技能书
前言:后台开发工程师主流使用的编程语言有C++、Java、PHP以及目前慢慢流行的Golang等。小编就将以C++的角度,讲讲如何学习和准备后台开发的岗位。
一、语言基础
无论是C++开发还是Java开发,对于一个码农而言,最重要的就是对于编程语...[2020/11/9]
C/C++编程笔记:C++ 的链接问题,如何链接动态库和静态库
C++的链接分为两部分,一个是编译时,一个是运行时。但运行时的行为也收到编译参数的影响。
1. 编译时链接
基本就两个参数,-l 和-L :
-l 编译时要链接的库(包括动态链接库.so 和静态链接库.a ),注意库的顺序,...[2020/11/9]
C/C++学习日记:用C++制作餐饮管理系统(附源码),可以用来做毕设的项目!
VC++酒店餐饮管理系统,Acce 数据库版,面向酒店餐饮的前台服务员,厨房管理员,原材料的供货部门以及经理部门的管理人员。
本套VC餐饮管理系统支持桌号管理,点击桌号可查看菜谱菜价等。系统分四大模块:前台销售、统计报表、基础资料、系统维护,每个模块...[2020/11/9]
FLOYD和DIJ记录PathFLOYD和DIJ记录Path
p[i][j]定义从i到j下一步要到的点,及子问题变成p[ p[i][j] ][j],迭代停止的地方p[i][j]=j;
p[i][j]初始话=j;如果ij没有通路i!=j&&p[i][j]=j;
void showpath(int p[][N],int...[2020/11/9]
那么多人学习C++,学习它有什么好处?学完以后能从事哪些岗位?
相信很多人接触编程都是源于大学期间的那堂C++语言程序编程,但是这门课却只告诉了你编程语言是什么,却没告诉你要怎么去熟练掌握编程。所以,不可避免的是许多人在毕业前夕才发现虽然学会了C++,但是好像却不知道能干什么,能找什么样的工作,能去什么样的公司。所以呢本文就从C++的角度出发,谈谈我...[2020/11/9]
C/C++编程日记:C++ 实现太阳系行星项目系统
项目简介:使用 C++实现 OpenGL GLUT 实现一个简单的太阳系行星系统,将涉及一些三维图形技术的数学基础、OpenGL 里的三维坐标系、OpenGL 里的光照模型、GLUT 的键盘事件处理。
OpenGL 包含了很多渲染函数,但是他们的设计目的是独立于任何窗口系统或操作系...[2020/11/9]
假如C++是一只箭,你会用它来射哪只雕?
看到标题,你可能不太明白是什么意思。不要着急,看到最后你就明白啦。
我相信很多人接触C++编程都是源于大学期间的那堂C++语言程序编程,但是这门课却只告诉了你编程语言是什么,却没告诉你要怎么去熟练掌握编程。
所以,不可避免的是许多人在毕业前夕才发现虽然学会了C++,但是好像却不知道能...[2020/11/9]
C/C++编程笔记:如何将C ++字符串转换为数字?三种方法教给你
通常,或更具体地说,在竞争性编程中,有许多情况需要将数字转换为字符串或将字符串转换为数字。但是缺乏某些必不可少的工具的知识使我们不得不这样做。本文介绍了一些实现此任务的方法。
将字符串转换为数字
方法1:使用字符串流类或的 canf()
方法2:字符串使用转换S...[2020/11/9]