经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 C++

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 模板核心知识(十一)—— 编写泛型库需要的基本技术

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]

c++11-17 模板核心知识(十二)—— 模板的模板参数 Template Template Parameters

概念 举例 模板的模板参数的参数匹配 Template Template Argument Matching 解决办法一 解决办法二 概念 一个模板的参数是模板类型。 举例 在c++11-17 模板核心知识(二)—— 类模板 中,如果我们想要允许指定存储Stack元素的容器...[2020/12/8]

CPU实现原子操作的原理

CPU实现原子操作的原理

586之前的CPU, 会通过LOCK锁总线的形式来实现原子操作. 686开始则提供了存储一致性(Cache coherence),  这是多处理的基础, 也是原子操作的基础.   1. 存储的粒度 存储的组织形式(粒度)是以CacheLine为单位的, 通常为6...[2020/12/8]

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

c++11-17 模板核心知识(十三)—— 名称查找与ADL

名称分类 名称查找 ordinary lookup ADL (Argument-Dependent Lookup) 官网的例子 ADL的缺点 在C++中,如果编译器遇到一个名称,它会寻找这个名称代表什么。比如x*y,如果x和y是变量的名称,那么就是乘法。如果x是一个类型的名称,...[2020/12/8]

C++基础--指针 野指针和free

C++基础--指针 野指针和free

野指针的重复释放问题 最近发现了这样一个问题,一个指针释放两次之后,若在中间不置空,会报Invalid addre specified to RtlValidateHeap 无效的堆地址 错误。 #include <iostream> #include <stri...[2020/12/8]

MFC的大致讲解

现在使用MFC框架的人越来越少了,现在大家都在用QT框架来写,对应初学者就我感觉来说,MFC真的是一个很好的框架,现在在工业方面使用的几乎都是MFC,所以以后就业想要往工业方面找C++工作,可以好好看看MFC,今天先讲一部分接下来每天更新一段我的见解。 1.如何能成为一名优秀的程序员?...[2020/11/23]

IPV6兼容IPV4通信程序升级改造之经典源代码解析

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详解

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 容器作为函数参数来实现元素插入和遍历?

如何优雅的传递 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学习之路

  多年前听说过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++编程日记:将不同类型的对象放进同一个容器

前言:不同类型的对象,放进同一个容器。(下文以数组表示容器) 代理类 问题: 现有不同种类的交通工具类派生层次,如下:     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

之前不了解虚继承,一度以为是和虚函数相关的东西,后来查了一下才知道是完全不相关的特性。特此记录一下。 目录虚函数1. 写法2. 意义3. 作用4. 原理虚继承1. 写法2. 意义3. 作用4. 原理 虚函数 1. 写法 类中的成员函数,定义时在最左侧加上virtual关键字,就被定...[2020/11/16]

使用 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实现多线程

【QT】继承QRunnable+QThreadPool实现多线程

往期链接: 《QThread源码浅析》 《子类化QThread实现多线程》 《子类化QObject+moveToThread实现多线程》 本文章实例的源码地址:https: gitee.com/CogenCG/QThreadExample.git 继承QRunnable+QThre...[2020/11/10]

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语言来实现下雪效果,这个冬天,雪花很美

前言 1.本文主要围绕 如何 在 控制台上 下起 一场 只有自己能看见的雪 2.是个简易跨平台的,主要是C语言 3.动画 采用 1s 40帧, 雪花具有 x轴速度和y轴速度 4.比较简单,可...[2020/11/9]

336
9
记录数:2645 页数:8/53首页上一页3456789101112下一页尾页
加载更多