
C++
robot_1932
C++软件工程师
展开
-
open-dis cpp实现 安装部署环境(windows)
open-dis cpp实现在windos下的实现原创 2022-10-25 15:19:16 · 995 阅读 · 2 评论 -
C++之2.1 语句和程序结构
2.1 语句程序结构语句计算机程序是一系列告诉计算机该怎么做的语句。语句是一种指令,会导致程序执行某些操作。语句是C++程序中最常见的指令类型。这是因为它们是C++语言中最小的独立计算单位。在这方面,它们的行为与自然语言中的句子非常类似。当我们想将一个想法传递给其他人时,我们通常用句子写作或说话。在C++中,当我们想让计算机做某件事时,我们通常会编写语句。C++中大多数(但不是所有)语句都以分号结尾。如果您看见一行以分号结尾,它可能是一个语句。在C++高级语言中,单个语句可能会编译成许多机器语言指原创 2021-10-26 23:48:29 · 245 阅读 · 0 评论 -
1024 节日快乐
节日快乐 1024节日快乐,明天更新。今天对象生日,没来得及更新,保存在草稿箱了。原创 2021-10-24 23:40:14 · 126 阅读 · 0 评论 -
C++之 1.11 配置编译器:选择语言标准
1.11 配置编译器:选择语言标准有许多不同版本的C++可用(C++98、C++03、C++11、C++14、C++17、C++20等),您的编译器如何知道该使用哪个版本?通常,编译器将选择一个默认的标准(通常不是最新的语言标准)。如果您希望使用不同的语言标准(并且您可能会使用),您必须配置IDE/编译器才能这样做。语言标准的代码名称最终语言标准以最终确定的年份命名(例如C++17于2017年定稿)。然而,当商定新的语言标准时,还不清楚最终确认年份将在哪一年进行。因此,进行中的语言标准被授予代号,然原创 2021-10-23 11:49:29 · 2749 阅读 · 0 评论 -
C++之 1.10 配置编译器:警告和错误级别
1.10 配置编译器:警告和错误级别当您编写程序时,编译器将检查以确保您遵循来C++语言的规范(假如您已经关闭了编译器拓展,如1.9配置编译器:编译器拓展)。如果做了明确违反语言规则的事情,编译器在编译过程中会发出错误。同时提供包含错误的行号,以及一些关于预期内容和发现内容的文本。实际错误可能在该行,也可能在前一行。一旦您识别并修复了错误的代码行,您可以再次尝试编译。在其他情况下,编译器可能会发现看似错误的代码,但编译器无法确定(请记住座右铭“相信程序员”)。在这种情况下,编译器可以选择发出警告。警告原创 2021-10-23 11:31:18 · 674 阅读 · 0 评论 -
C++之 1.9 配置编译器:编译器拓展
1.9 配置编译器:编译器拓展C++标准定义了程序在特定情况下应该如何运行的规则。在大多数情况下,编译器会遵循这些规则。然而,许多编译器对语言进行了自己的更改。通常是为了增强与其他语言版本的兼容性。或出于历史原因,这些特定于编译器的行为称为编译器拓展。编写使用编译器拓展的程序运行您编写与C++标准不兼容的程序。使用非标准拓展的程序通常不会在其他编译器上编译。或者即使支持相同拓展,它们可能无法正常运行。令人沮丧的是,编译器拓展通常默认启用。这对新学习者尤其有害,他们可能会觉得一些有效的行为是官方C++标原创 2021-10-23 10:06:42 · 275 阅读 · 0 评论 -
C++之 1.8 配置编译器:构建配置
1.8 配置编译器:构建配置构建配置(也称为构建目标)是决定IDE如何构建项目的项目设置的集合。建构配置通常包括以下内容:可执行文件的名称,IDE将查找其他代码和库文件的目录,是保留还是删除调试信息,让编译器优化多少程序等等。通常,除非您有更改某些特点原因,否则将这些设置保存在默认设置。当您在IDE中创建新项目时,大多数IDE将为您设置两种不同 的建构配置:发布配置和调试配置。调试配置:即debug版本,旨在帮助您调试程序,通常是您在编写程序时使用的配置。此配置关闭所有优化,并包含调试信息,使您的程序原创 2021-10-23 09:50:42 · 237 阅读 · 0 评论 -
C++之 1.7 一些常见的C++问题
1.7 一些常见的C++问题在本节中,我们将讨论新程序员似乎非常有可能遇到的一些常见问题。这并不意味着汇编或者执行问题的全面清单,而是非常基本问题的解决方案的务实清单。一般运行时问题问:执行程序时,控制台窗口闪烁,然后立即关闭首先,添加顶部的代码行#include <iostream>#include <limits>其次,在main的函数末尾添加以下代码(return之前)std::cin.clear();std::ignore(std::numberic_li原创 2021-10-23 01:08:44 · 185 阅读 · 0 评论 -
C++之 1.6 编译您的第一个程序
1.7 编译您的第一个程序大家在学习C语言的时候,肯定都编过hello world,当然,我们也要走个形式,学习一下第一个程序。在我们编写第一个程序之前,我们需要学习如何在我们的集成开发环境(IDE)中创建新程序。项目要在IDE中编写C++程序,我们通常从创建一个新项目开始。项目是一个容器,可以保存您可以运行或者使用的所有的源代码文件、图像、数据文件等。。。这些文件是生成可执行文件所必须的。该项目还保存了各种IDE、编译器和链接器设置,并记住您中断的位置,以便稍后重新打开项目时,IDE的状态恢复到您中原创 2021-10-23 00:51:57 · 128 阅读 · 0 评论 -
C++之1.5 安装集成开发环境(IDE)
1.5 安装集成开发环境(IDE)**集成开发环境(IDE)**是一种软件,包含开发、编译、链接和调试程序所需的所有内容。使用典型的C++IDE,您将获得一个代码编辑器,该编辑器执行行号和语法高亮显示。许多(但不是所有)IDE都包含一个C++编译器和一个链接器,IDE知道如何与它们接口,以便将您的源代码转化为可执行文件。当您需要调试程序时,您可以使用集成调试器。此外,IDE通常捆绑成许多其他有用的编辑功能,如集成帮助、名称完成、自动格式化,有时还包括版本控制等。因此,虽然您可以单独完成所有这些事情,但原创 2021-10-22 22:27:11 · 305 阅读 · 0 评论 -
C++之1.4 编译器、链接器和库简介
1.4 编译器、链接器和库简介继续讨论上一课第四步:编译源代码为了编译C++程序,我们使用C++编译器。C++编译器按照顺序遍历程序中的每个源代码(.cpp)文件,并执行两项重要的任务:首先,它会检查您的代码,以确保它遵循C++语言的规则。如果没有,编译器将为您提供错误(和相应的行号),以帮助确定需要修复的内容。编译过程也将中止,直到错误修复。其次,它会将您的C++源码转换为对象文件的机器语言文件,对象文件通常命名为name.o或name.obj,其中名称与它生成的.cpp文件相同。第五步:链接原创 2021-10-22 22:03:16 · 198 阅读 · 0 评论 -
C++之1.3 C++开发简介
1.3 C++开发简介在我们编写和执行第一个C++程序前,我们需要更详细的了解C++程序是如何开发的。第一步:定义您想要解决的问题这是“什么”步骤,首先,您要明白您打算解决什么问题,想出您想要编程内容的最初想法可能是最简单的一步,也可能是最困难的一步。但从概念上讲,这是最简单的。您只需要一个可以很好地定义的想法,您已经为下一步做好准备了。以下是一些例子:我想写一个程序,让我输入许多数字,然后计算平均数我想写一个程序,生成一个2d迷宫,并让用户浏览它,如果他们达到目的,用户则会赢。我想写一个程原创 2021-10-22 16:44:54 · 330 阅读 · 0 评论 -
C++之1.2 C++简介
1.2C++简洁在C++之前,有CC语言由Bell Telephone实验室的Dennis Ritchie于1972年开发,主要作为一种系统编程语言(一种编写操作系统的语言)。Ritchie的主要目标是生成一种极简语言,易于编译,允许高效访问内存,生成高效代码,并且自包含(不依赖于其他程序)。对于高级语言,它旨在给程序员很多的控制权,同时仍然鼓励平台(硬件和操作系统)等独立性(即代码不必为每个平台编写)。C最终是如此高效和灵活,以至于在1973年,Ritchie和Ken Yhompson使用C重写了大原创 2021-10-22 16:19:09 · 190 阅读 · 0 评论 -
C++之1.1编程语言简介
1.1编程语言简介现代计算机速度惊人,而且速度一直越来越快。然而,计算机也有一些重大的约束:它们只理解有限的命令集,必须确切的告诉它们该怎么做。计算机程序(也称为应用程序)是计算机可以执行的一组指令,以执行某些任务。创建程序的过程称为编程。程序员通常通过生成源代码(通常缩写为代码)来创建程序,源代码是键入到一个或多个文本文件中的命令列表。组成计算机和执行程序的物理计算机部件的集合被称为硬件。当计算机程序加载到内存中,硬件依次执行每个指令时,被称为运行或执行程序。机器语言计算机的CPU无法理解C++原创 2021-10-22 15:39:55 · 229 阅读 · 0 评论 -
C++学习(目录)
哎,出差刚回来,这半年做了一个平台开发,都是基于别人的模板进行插件开发,现在回来很多C++知识点已经忘记了。那博主就开始系统得复习一遍C++吧。目录c++简介/入门这些教程简介编程语言简介C/C++简介C++kaifa简介编译器、链接器和库简介安装集成开发环境(IDE)一些常见的C++问题配置编译器:构建配置配置编译器:编译器拓展配置编译器:警告和错误级别配置编译器:选择语言标准简介/入门这些教程简介编程语言简介C/C++简介C++kaifa简介编译器、链接器和库简介安装集成开发环境(I原创 2021-10-22 14:52:39 · 2316 阅读 · 0 评论 -
QT的伙伴编辑模式(Edit Buddies)
QLabel标签和伙伴窗口不见包括一个标签和一个窗口部件,他们具有伙伴关系,指当用户激活标签的快捷键时,鼠标键盘的焦点将会转移到它的伙伴窗口部件上。只有QLabel标签对象才有伙伴窗口部件,也只有在该QLabe对象具有快捷键(在显示文本的某个字符前面添加一个前缀“&”, 就可以定义为快捷键)时,伙伴关系才有效。QLineEdit * ageLineEidt = new QLineEdit(this);QLabel * ageLabel = new Qlabel("&Age", this原创 2021-08-29 17:04:48 · 1737 阅读 · 0 评论 -
C++帮助手册之基本概念 (2)ASCII 码表
ASCII 码表下列码表含有全部 128 个 ASCII 十进制 (dec) 、八进制 (oct) 、十六进制 (hex) 及字符 (ch) 编码。原创 2021-02-23 00:27:19 · 713 阅读 · 0 评论 -
QT全局键盘检测(即失焦后依旧可以检测到键盘事件)
大家搜到这个博客,肯定是业务或者学习中需要该功能。我是在设计一个项目中,涉及到按下T进行语音说话时设计到的。qt自带的QKeyEvent事件,并不是全局有效,只有在鼠标点击该窗口后才会产生对应的鼠标事件。对此我特地查了很多优快云和公司的论坛,总结出网上主要有四种方法。1、就是使用grabKeyBoard(),经过测试,并不能达到预期的效果。这个实际效果是在多个窗口一起存在时,其中一个窗口需要一直获取键盘事件:可以在这个窗口中捕获键盘事件,即grabKeyboard(); 这样这个窗口可以一直获取键盘事件原创 2021-01-15 22:10:24 · 4033 阅读 · 0 评论 -
Effective+C++的55则条款(2)尽量以const、enum、inline代替#define
**尽量以const、enum、inline代替#define**总结:(1)对于单纯常量,以const或者enum代替宏(2)对于类似函数的宏,最好以inline代替宏提到这,就不得不提一下编译四步骤:预处理-编译-汇编-链接(1)预处理:去掉注释,进行宏替换(#define相关),头文件(#include) gcc -E test.c -o test.i(2)编译:不同平台选用的汇编语言是不一样的。编译将高级语言编译成汇编语言 gcc -S test.c -o test原创 2020-08-25 21:17:30 · 137 阅读 · 0 评论 -
简介正则表达式
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。正则的目的:给定一个正则表达式和另一个字符串,我们可以达到如下的目的:给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):可以通过正则表达式,从字符串中获取我们想要的特定部分。正则表达式由普通字符和特殊字符(也称为元字符)组成的文字模式。普通字符:普通字符包括没有显式指定为元字符的原创 2020-08-24 21:03:18 · 294 阅读 · 0 评论 -
Effective+C++的55则条款(1)视C++为一个语言联邦
条款一、视C++为一个语言联邦打算直接将55个条款直接写一个总结的,想想还是分成各个模块吧,做一个系统的梳理,这本书当然是侯捷老师推荐的,因为最近在学习侯捷的C++面向对象高级开发,在导读的时候安利的,我问了我的同学还有同事,问他们看过这本书,有的人说看过,有的人说没有。果然,这算不算应验了:C++程序员分为两类,一类是看过Effective+C++,另一类是没有看过的。当然,这是个玩笑话。不过我最近因为刚入职嘛,也进了项目组,开始正式成为码农的一份子,确实有点感触,特别是看了这个视频还有这本书。这个视频原创 2020-08-23 20:43:57 · 1038 阅读 · 0 评论 -
C++设计模式之导读
设计模式概述:目标:高内聚低耦合核心思想: 隔离变化,封装变化(抽象)面向抽象类编程,客户端和服务器的解耦合用抽象解耦具体实现,将程序中可能变化的部分封装到具体类中,使用抽象技术,解藕程序和具体类的实现。这样,当未来的需求发生变化,我们就可以在不改动核心程序流程的情况下,扩展程序的实现。所谓的使用抽象技术也就是遵循面向接口编程原则变化:客户需求的变化,技术平台的变化,开发团队的变化,环境...原创 2020-02-29 16:31:48 · 147 阅读 · 0 评论 -
#pramga once 和 #ifndef 的区别:
#ifnodef 依赖于宏名字不能冲突;缺点就是,万一不同的头文件的宏名字不小心撞车,会让编译器找不到声明;#pramga once 由编译器提供保证;根据物理上是否是同一个文件;好处是我不需要想宏名;缺点上是拷贝一下,就被重复包含了;因为编译器每次都要打开头文件来判断这个头文件是否被包含,导致编译时间增加,所以越来越多的编译器现在选择使用#pramga once(微软的),大大提高了效率;...原创 2020-01-12 19:18:55 · 784 阅读 · 0 评论 -
C++和C部分区别
C和C++的区别:1、C89标准中的C语言不支持函数的默认值, C++支持函数默认值,且需要遵循从右向左赋初始值2、内联函数3、C语言中不存在函数重载,C++根据函数名参数个数参数类型判断重载,属于静多态,必须同一作用域下才叫重载4、C中const叫只读变量, 只是无法做左值的变量,比如数组的下标,C++中const是真实的常量,可以当数组的下标,但是也可能退化成c语言的常量,默认生成lo...原创 2020-01-12 18:45:27 · 241 阅读 · 0 评论