如何理解C++ 临时变量的常量性

1.认识临时变量的常量性关于临时变量的常量性,先看一段代码。void print(string& str){ cout<<str<<endl;}//如此调用会报编译错误print("hello world");在Linux环境使用g++...

2020-11-01

浅析C++ 仿函数

1.为什么要有仿函数我们先从一个非常简单的问题入手。假设我们现在有一个数组,数组中存有任意数量的数字,我们希望能够计数出这个数组中大于10的数字的数量,你的代码很可能是这...

2020-11-01

C++实现简单推箱子小游戏

本文实例为大家分享了C++实现简单推箱子的具体代码,供大家参考,具体内容如下游戏演示代码展示#include<stdio.h>#include<stdlib.h>#include<getch.h>int main(int argc,const...

2020-11-01

C语言实现简单五子棋小游戏

五子棋简单功能实现,供大家参考,具体内容如下游戏功能演示代码如下:#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <getch.h>// 棋盘char board[15][15]...

2020-11-01

浅析C++ new的三种面貌

1.new的三种面貌C++中使用new运算符产生一个存在于Heap(堆)上对象时,实际上调用了operator new()函数和placement new()函数。在使用new创建堆对象时,我们要清楚认清楚new的三种...

2020-11-01

简述c++ 发展史

C++是一门以C为基础发展而来的一门面向对象的高级程序设计语言,从1983年由Bjarne Stroustrup教授在贝尔实验室创立开始至今,已有30多个年头。C++从最初的C with class,经历了从...

2020-11-01

深入分析C++模板特化与偏特化

1.模板特化1.1概述模板特化(template specialization)不同于模板的实例化,模板参数在某种特定类型下的具体实现称为模板的特化。模板特化有时也称之为模板的具体化,分别有函数模...

2020-11-01

C++ opencv ffmpeg图片序列化实现代码解析

0、如果路径中存在空格,用""把路径包括起来
1、使用ffmpeg命令
ffmpeg -y -framerate 10 -start_number 1 -i E:\Image\Image_%d.bmp E:\test.mp4-y 表示输出时覆盖输出...

2020-11-01

浅谈关于C++memory_order的理解

看了c++并发编程实战的内存模型部分后,一直对memory_order不太懂,今天在知乎发现了百度的brpc,恰好有关于原子操作的文档,感觉解释的很好。为了加深理解,再次总结一遍。在多核编...

2020-11-01

解读C++11 原生字符串

1.基本概念与作用原生字符串(Raw String)指不进行转义“所见即所得”的字符串。很多编程语言早已支持原生字符串,如C#、Python、Shell等。C++作为一门高级程序设计语言,自然不能...

2020-11-01

C++11 Unicode编码转换

1.char16_t与char32_t在C++98中,为了支持Unicode字符,使用wchar_t类型来表示“宽字符”,但并没有严格规定位宽,而是让wchar_t的宽度由编译器实现,因此不同的编译器有着不同的实现...

2020-11-01

详解C++11 变参模板

1.概述变参模板(variadic template)是C++11新增的最强大的特性之一,它对参数进行了高度泛化,它能表示0到任意个数、任意类型的参数。相比C++98/03,类模版和函数模版中只能含固定...

2020-11-01

详解C++ 中的临时对象

C++中临时对象(Temporary Object)又称无名对象。临时对象主要出现在如下场景。1.建立一个没有命名的非堆(non-heap)对象,也就是无名对象时,会产生临时对象。 Integer inte= Intege...

2020-11-01

QT实现五子棋游戏

本文实例为大家分享了QT实现五子棋游戏的具体代码,供大家参考,具体内容如下有点bug 但是能运行每次点击右边会出现提示图标,表示是黑方落子还是白方并计时,不过不知道为什么点的...

2020-11-01

Qt实现简单五子棋小游戏

C++代码简单实现五子棋功能,主要是分为窗口绘图的显示,横、纵、斜三个方面计算的功能代码实现,即能连续出现5个相同棋子就为赢。在这里就简单讲解一下这三个方面的功能实现(主...

2020-11-01

Qt自定义图形实现拖拽效果

本文实例为大家分享了Qt自定义图形实现拖拽效果的具体代码,供大家参考,具体内容如下在这里自定义图形是通过QPaintEvent事件绘画的图形,也可以通过自定义控件的方式添加到qt中...

2020-11-01

C++/GoLang如何实现自底向上的归并排序

前言上一篇文章写了一个自顶向下的归并排序,把一个完整的数组不断二分,然后再合并。其实换一种思路:把数组中相邻的N个元素看成是已经二分好了的,直接进行合并,就省掉了二分那一...

2020-11-01

区分c++中的声明与定义

C++编码过程中,我们经常谈及“定义”和“声明”,二者是编程过程中的基本概念。我们需要使用一个变量、类型(类、结构体、枚举、共用体)或者函数时,我们需要提前定义和声明。定义...

2020-11-01

C++如何用智能指针管理内存资源

1.简介C++作为一门应用广泛的高级编程语言,却没有像Java、C#等语言拥有垃圾回收(Garbage Collection )机制来自动进行内存管理,这也是C++一直被诟病的一点。C++在发展的过程中,一...

2020-11-01

c++ 入门——浅析构造函数和析构函数

前文回顾本文档环境基于Vscode + GCC + CodeRunner关于C++的环境搭建请参考下面链接:https://www.freexyz.cn/article/186542.htm由于本人具有C#开发经验,部分相同的知识就不再...

2020-11-01

详解C++ 多态的两种形式(静态、动态)

1.多态的概念与分类多态(Polymorphisn)是面向对象程序设计(OOP)的一个重要特征。多态字面意思为多种状态。在面向对象语言中,一个接口,多种实现即为多态。C++中的多态性具体体现在...

2020-11-01

C++获取本地时间常见方法汇总

1.跨平台方法1.1方法一:手动暴力法#include <iostream>using namespace std;#include <time.h>time_t t = time(NULL);struct tm* stime=localtime(&t);char tmp[32]={NULL};...

2020-11-01

C语言实现简单的三子棋游戏

C语言:三子棋游戏,供大家参考,具体内容如下首先,我们从main函数开始写起,分析游戏的整体逻辑int main(){ int input=0; srand((unsigned int)time(NULL)); do { menu(); printf("...

2020-11-01

深入理解C++中的new/delete和malloc/free动态内存管理及区别介绍

malloc/free和new/delete的区别 malloc/free是C/C++标准库的函数;new/delete是C++操作符。 malloc/free只是动态分配内存空间/释放空间;new/delete除了分配空间还会调用构造...

2020-11-01

Ubuntu中使用VS Code与安装C/C++插件的教程详解

优麒麟Ubuntu20.04中使用VS Code。
VS Code的版本是1.48.0。
以下内容仅限于上述环境,对于Windows环境下的使用虽然类似,只能参考使用。1.准备
a.软件安装
可以通过软件商店进...

2020-11-01

c语言内存泄漏严重的解决方法

摘要:通过介绍内存泄漏问题原理及检视方法,希望后续能够从编码检视环节就杜绝内存泄漏导致的网上问题发生。1. 前言最近部门不同产品接连出现内存泄漏导致的网上问题,具体表现...

2020-11-01

C++的替代:微软如何使用rust?

微软拥有世界上最大的C/C++代码库之一。从Windows、Office到Azure云,微软的所有核心产品都在该代码库上运行。但因为C++不是内存安全的语言,代码库中自然频频出现内存漏洞,大量...

2020-11-01

简单谈谈C语言中的= 和==、!=

1. =:在C语言中等号(=)为赋值操作符,下面进行简单说明赋值操作符的使用1) 变量的赋值操作:int a;a = 10;此处为将10赋值给a,赋值过后a的值为102) 指针变量的赋值操作:(分别为 取...

2020-11-01

c语言中&的用法示例代码

1.用于指针赋值#include<stdio.h>int main(){ int a = 2; int*b;//定义一个整形指针 b = &a;//给指针赋值,使指针指向a的地址 printf("%d", b);//输出的是a的地址 printf("\n...

2020-11-01

pybind11: C++ 工程提供 Python 接口的实例代码

C/C++ 工程提供 Python 接口,有利于融合进 Python 的生态。现在 Python 在应用层,有其得天独厚的优势。尤其因为人工智能和大数据的推波助澜, Python 现在以及未来,将长期是最流...

2020-11-01

C++实现俄罗斯方块游戏

本文实例为大家分享了C++实现俄罗斯方块游戏的具体代码,供大家参考,具体内容如下使用VS2017编译思路:1.打印出游戏地图,也就是设计游戏地图类game_interdace,包括设计游戏开始界...

2020-11-01

C语言实现简单三子棋游戏

本文实例为大家分享了C语言实现简单三子棋游戏的具体代码,供大家参考,具体内容如下游戏介绍:使用C语言中二维数组和函数的基本知识实现一个三子棋游戏,这个游戏要实现的基本功能...

2020-11-01

C++11中std::move、std::forward、左右值引用、移动构造函数的测试问题

关于C++11新特性之std::move、std::forward、左右值引用网上资料已经很多了,我主要针对测试性能做一个测试,梳理一下这些逻辑,首先,左值比较熟悉,右值就是临时变量,意味着使用一次...

2020-11-01

详解C++ 模板编程

类型模板类型模板包括函数模板和类模板,基本上是C++开发人员接触模板编程的起点。下面代码演示了函数模板和类模板的使用方法:// 函数模板template<typename T>T add(const T&...

2020-11-01

详解C++ 前置声明

前置声明是C/C++开发中比较常用的技巧,主要用在三种情形: 变量/常量,例如extern int var1;; 函数,例如void foo();,注意类的成员函数无法单独做前置声明; 类,例如class Foo;,也可...

2020-11-01

聊聊C++的mutable和volatile

C++中修饰数据可变的关键字有三个:const、volatile和mutable。const比较好理解,表示其修饰的内容不可改变(至少编译期不可改变),而volatile和mutable恰好相反,指示数据总是可变的...

2020-11-01

详解c++ 静态成员变量

类定义时的静态成员只是声明,静态成员的定义和初始化要在类之外完成C++的static关键字可修饰类成员变量/方法,表示变量/方法不从属于特定对象,而是属于类的。仔细琢磨静态成员...

2020-11-01

C++中检查vector是否包含给定元素的几种方式详解

概述在编码中经常会遇到一种场景,就是要在数组或列表中查找某个元素是否存在,其实对于这种线性操作,自己实现一个循环来检查是非常简单的事情,那既然这样,为啥还要专门写篇博客来...

2020-11-01

C++11用两个线程轮流打印整数的实现方法

使用C++11标准的的线程语法,用两个线程轮流打印整数,一个线程打印奇数,一个线程打印偶数。可以练习线程的基本操作、线程锁和条件变量等技术。完整代码如下。代码后面附有主要...

2020-11-01

详解C++中的双冒号 ::

C++中的双冒号 ::第一种,类作用域,用来标明类的变量、函数Human::setName(char* name);第二种,命名空间作用域,用来注明所使用的类、函数属于哪一个命名空间的std::cout << "Hel...

2020-11-01

深入浅析C++中的#,##,和

想要灵活应用宏,离不开#和##。"
在学习#和##之前,先来看一个关于"的例子:#include <stdio.h> #include <string.h> int main() { const char* p1 = "Hello," "World!"; //...

2020-11-01

详解C++之C++11的牛逼特性

一、列表初始化
1.1 C++98中,标准允许使用花括号{}对数组元素进行统一的列表初始值设定。int array1[] = {1,2,3,4,5};int array2[] = {0};对对于一些自定义类型,却不行.vecto...

2020-11-01

区分C++中的&和&&

c++的&和&&是两个常用且容易让人混淆迷惑的运算符,其中&符号有三种用途,&&有两种。本文对这两个运算符的用途做简要总结。&的用途第一种用途:位运算中的“与”(AND)。位运算十分...

2020-11-01

总结一次C++ 程序优化历程

近期用到了一位师兄写的C++程序,总体功能良好。使用不同的数据测试,发现了一个明显的缺点:大数据量下,预处理过程耗时很长。中科院的某计算集群,普通队列中的程序运行时间不能超...

2020-11-01

C语言实现简单贪吃蛇小游戏

本文实例为大家分享了C语言实现简单贪吃蛇的具体代码,供大家参考,具体内容如下依然是非常传统的贪吃蛇小游戏,网上很多教程,配置好ege图形库就好,不然没有grapics.h另外,还需要添...

2020-11-01

vscode 配置 C/C++编译环境(完整教程)

第一步:下载安装下载MinGW-W64 GCC-8.1.0编译器(32和64版本都有)
MinGW-W64 GCC下载地址:https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Pers...

2020-11-01

谈谈C++中的单例

写C++的时候用到单例,于是很自然的写出如下的代码:namespace tlanyan { class Foo { private: static Foo* _instance; Foo() {} // other members public: st...

2020-11-01

简单讲解c++ vector

在c++中,vector是一个十分有用的容器。作用:它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。vector在C++标准模板库...

2020-11-01

c++ 有趣的动态转换

缘起最近,在项目代码中看到一个非常神奇的类型转换—— 类型A 的指针居然能动态转换成另外一个完全没有任何关系的类指针。这…… 完全颠覆了我的认知。为了进一步了解这个神...

2020-11-01

浅谈C++ 虚函数

缘起在上一篇文章中,测试代码2 中的 pBaseA->AA(); 输出的内容很“奇怪”。其实,完全在情理之中。本文将简单探究一下 c++ 中的虚函数实现机制。本文主要基于 vs2013 生成的 3...

2020-11-01
返回顶部
顶部