c++野指针的原理以及避免方法

1.定义指向非法的内存地址指针叫作野指针(Wild Pointer),也叫悬挂指针(Dangling Pointer),意为无法正常使用的指针。2.出现野指针的常见情形2.1使用未初始化的指针出现野指针最典...

2020-11-01

c++ 如何合并两个有序链表

1.题目要求这是一道求职面试时经常要求手写或者机试的经典题目。已知两个链表head1和head2各自有序,请把它们合并成一个链表依然有序。结果链表要包含head1和head2的所有节点...

2020-11-01

c++如何实现跳表(skiplist)

引言二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗?实际上,只需要对链表稍加改造,就可以支持类似“二分”...

2020-11-01

深入了解c++11 移动语义与右值引用

1.移动语义
C++11新标准中一个最主要的特性就是提供了移动而非拷贝对象的能力。如此做的好处就是,在某些情况下,对象拷贝后就立即被销毁了,此时如果移动而非拷贝对象会大幅提升...

2020-11-01

VS Code C/C++环境配置教程(无法打开源文件“xxxxxx.h”或者检测到 #include 错误,请更新includePath)(POSIX API)

一、问题描述与分析编辑C/C++程序,我推荐使用C/C++,VS Code相对于别的编译器来说有很多的优势。但是如果第一次使用的话,会觉得其不好用。因为如果不配置好的话,操作会比较麻烦...

2020-11-01

详解C++纯虚函数与抽象类

1.虚函数
1.1虚函数简介虚函数可以毫不夸张的说是C++最重要的特性之一,我们先来看一看虚函数的概念。在基类的定义中,定义虚函数的一般形式为:virtual 函数返回值类型 虚函数名...

2020-11-01

c++ 面向对象设计五大原则

面向对象设计(OOD)是面向对象编程(OOP)必不可少的一个环节,只有好的设计,才能保障程序的质量。面向对象设计的主要任务就是类的设计,不少面向对象(OO)的先驱和前辈已经提出了很多关于...

2020-11-01

c++代码调试方式的几点建议

1.代码调试的重要性代码调试在程序开发阶段占有举足轻重的地位,可见代码调试的重要性。但是有一点必须强调:程序是设计出来的,而不是调试出来的。这是所有程序员必须牢记在心的...

2020-11-01

c++如何控制对象的创建方式(禁止创建栈对象or堆对象)和创建的数量

我们知道,C++将内存划分为三个逻辑区域:堆、栈和静态存储区。既然如此,我称位于它们之中的对象分别为堆对象,栈对象以及静态对象。通常情况下,对象创建在堆上还是在栈上,创建多少...

2020-11-01

C++读取配置文件的示例代码

代码地址https://github.com/gongluck/Code-snippet/tree/master/cpp/config需求开发中,读取配置文件信息必不可少。Windows平台有现成的API可用,也很方便。但是一旦项目迁移...

2020-11-01

如何基于C++解决RTSP取流报错问题

使用g++ opencv_demo.cpp -o test 会报以下错误这是我的代码:#include <string>#include <iostream>#include <time.h>#include <opencv2/highgui/highgui.hpp>#include <ope...

2020-11-01

C++实现编码转换的示例代码

代码地址https://github.com/gongluck/Code-snippet/tree/master/cpp/code%20conversion需求
编码转换在实际开发中经常遇到,通常是ANSI、Unicode和Utf-8之间相互转换。实现...

2020-11-01

简述C++中虚拟函数的内存分配机制

因为虚拟函数的地址翻译取决于对象的内存地址,而不取决于数据类型(编译器对函数调用的合法性检查取决于数据类型)。原来,如果类中定义了虚拟函数,该类及其派生类就要生成一张虚...

2020-11-01

深入了解c++数组与指针

1.数组数组大小(元素个数)一般在编译时决定,也有少部分编译器可以运行时动态决定数组大小,比如icpc(Intel C++编译器)。1.1数组名的意义数组名的本质是一个文字常量,代表数组第一个...

2020-11-01

详解C++11强类型枚举

1.传统枚举类型的缺陷
枚举类型是C/C++中用户自定义的构造类型,它是由用户定义的若干枚举常量的集合。枚举值对应整型数值,默认从0开始。比如定义一个描述性别的枚举类型。enu...

2020-11-01

详解C++中mutable的用法

代码编译运行环境:VS2017+Win32+Debugmutalbe的中文意思是“可变的,易变的”,是constant(即C++中的const)的反义词。在C++中,mutable也是为了突破const的限制而设置的,被mutable修...

2020-11-01

详解C++赋值操作符重载

1.赋值操作符重载的原因赋值操作符是一个使用频率最高的操作之一,通常情况下它的意义十分明确,就是将两个同类型的变量的值从一端(右端)传到另一端(左端)。但在以下两种情况下,需要...

2020-11-01

C++构造函数抛出异常需要注意的地方

从语法上来说,构造函数可以抛出异常。但从逻辑上和风险控制上,构造函数中尽量不要抛出异常。万不得已,一定要注意防止内存泄露。1.构造函数抛出异常导致内存泄漏在C++构造函数...

2020-11-01

详解C++ sizeof(上)

sizeof是C/C++中的一个操作符(operator),其作用是返回一个对象或者类型所占的内存字节数,使用频繁,有必须对其有个全面的了解。1.sizeof的基本语法sizeof有三种语法形式。(1)sizeof...

2020-11-01

详解C++ sizeof(下)

sizeof作用于基本数据类型,在特定的平台和特定的编译器中,结果是确定的,如果使用sizeof计算构造类型:结构体、联合体和类的大小时,情况稍微复杂一些。1.sizeof计算结构体考察如下...

2020-11-01

C++11新特性之自定义字面量

1.示例C++11新标准中引入了用户自定义字面量,也叫自定义后缀操作符,即通过实现一个后缀操作符,将申明了该后缀标识的字面量转化为需要的类型。考察如下代码:long double operato...

2020-11-01

C语言实现字符串拼接和拷贝

本文实例为大家分享了C语言实现字符串拼接和拷贝的具体代码,供大家参考,具体内容如下字符串拼接:#include<stdio.h>#include<stdlib.h>#include<string.h> char *str_contact(c...

2020-11-01

openCV4.1.1+VS2019环境配置详解

1.VS2019安装官网下载地址https://visualstudio.microsoft.com/zh-hans/&#63;rr=https%3A%2F%2Fwww.microsoft.com%2Fzh-cn%2F本地下载(附安装教程+激活码):https://www.jb51.n...

2020-11-01

Win10下最新版CLion(2020.1.3)安装及环境配置教程详解

前言CLion 是 JetBrains 推出的全新的 C/C++ 跨平台集成开发环境。&#8195;&#8195;没想到,我竟然又安装了CLion !!!∑(&#65439;Д&#65439;ノ)ノ,不过说实话,JetBrains家的IDE除...

2020-11-01

windows上安装CLion教程及简单使用详解

一、下载Clion进去JetBrains官网下载Clion,页面如下,点击下载即可,该软件为正版软件,需要收费激活,如果是学生可以通过学生认证免费使用JetBrains公司下所有软件。认证方法查看我...

2020-11-01

Clion下载安装使用的详细教程(Win+MinGW)

ClionJetbrains旗下产品之一,主要用来开发C/C++,软件相比VS来说轻巧很多一、Clion下载(Crack...) Clion官方下载:http://www.jetbrains.com/clion/&#63;fromFooterC++开发工具 Je...

2020-11-01

七夕表白! C语言实现爱情红玫瑰

本文实例为大家分享了C语言实现爱情红玫瑰的具体代码,供大家参考,具体内容如下一朵红玫瑰,记得要安装easyX,否则运行不了,建议vs2015,2017系列。看起开舒服一点。#include <graph...

2020-11-01

C++实现数字雨效果

本文实例为大家分享了C++实现数字雨效果的具体代码,供大家参考,具体内容如下#include <windows.h> #define ID_TIMER 1 #define STRMAXLEN 25 //一个显示列的最大长度 #defi...

2020-11-01

如何在 clion 运行多个 main 函数(方法详解)

在写 C++ 的题目的时候经常会遇到这样的问题,写了多个 cpp 文件,在 clion 中编译报错不能同时存在多 main 函数
这里写了一个小程序优雅地解决这个问,非常简单,就是就是读字符串...

2020-11-01

OpenGL实现3D空间中移动图像

Qt_OpenGL:3D空间中移动图像,供大家参考,具体内容如下//.h#ifndef GLWIDGET_H#define GLWIDGET_H #include <QGLWidget>#include <QtOpenGL> class QGLWidget;class QTimer; ty...

2020-11-01

OpenGL实现鼠标移动方块

本文实例为大家分享了OpenGL实现鼠标移动方块的具体代码,供大家参考,具体内容如下思路:用变量设定方块的坐标,然后根据鼠标的位移更改方块的变量坐标。注意:方块的绘图坐标系和世...

2020-11-01

OpenCV实现图像转换为漫画效果

本文实例为大家分享了OpenCV实现图像转换为漫画的具体代码,供大家参考,具体内容如下From 《OpenCV By Example》1、先canny提取图像的边缘并强化,翻转边缘为黑色,将像素值转换为...

2020-11-01

Opencv实现画笔功能

本文实例为大家分享了Opencv实现画笔功能的具体代码,供大家参考,具体内容如下
#include<iostream>#include<opencv2/opencv.hpp> using namespace std;using namespace cv; Re...

2020-11-01

举例分析private的作用(c/c++学习)

c++中private的用处我知道我们可以用 public 中的值,把private中的数据给提出来,但是还是搞不懂private该怎么用,或者说在一个具体程序中,private有什么用。class fun{public:...

2020-11-01

c++访问私有private成员变量的常用方法

类的对象不能直接访问类声明的私有成员变量,否则破坏了信息隐藏的目的。在C++中,为了防止某些数据成员或成员函数从外部被直接访问,可以将它们声明为private,这样编译器会阻止任...

2020-11-01

Qt实现网易云音乐进度条效果

Qt网易云音乐中的音乐进度条是一个小小的难关,今天在Android写记录步数进度条中突然想到了它。移动端和电脑端自定义写界面模块的方式大同小异,现在将其中的代码放出,供大家点...

2020-11-01

Qt实现屏幕底部冒泡效果

在Qt局域网聊天程序的到的东西太多了,最想和大家分享的是关于局域网聊天信息的冒泡,他的设计也不是特别难,我写了一个类分享给大家。可能各位道友有更好的办法,但希望不要拆台哦...

2020-11-01

QT实现提示右下角冒泡效果

本文实例为大家分享了QT实现提示右下角冒泡的具体代码,供大家参考,具体内容如下实现原理:1、显示定时器启动,右下角缓慢弹出,逐渐改变位置。2、驻留让界面停留一定的时间,时间过后...

2020-11-01

Qt模仿IOS滑动按钮效果

在上一篇文章里我介绍了在Android中如何实现IOS形式的滑动按钮,在这篇文章中我将介绍如何用Qt实现IOS形式的滑动按钮。其实在Android中实现这个和在Qt中实现是一样的道理的,只...

2020-11-01

Qt实现苹果状态切换按钮

本文实例为大家分享了Qt实现苹果状态切换按钮的具体代码,供大家参考,具体内容如下代码如下#include "button.h"#include <QDebug> Button::Button(QWidget *parent) : QPushBu...

2020-11-01

Qt实现可拖动按钮

本文实例为大家分享了Qt实现可拖动按钮的具体代码,供大家参考,具体内容如下直接上代码self-contained.h#ifndef SELFCONTAINED_H#define SELFCONTAINED_H#include <QWidget>#i...

2020-11-01

QT自定义之滑动开关

本文实例为大家分享了QT自定义之滑动开关的具体代码,供大家参考,具体内容如下写了一个简单的滑动开关, 不多说,上图:代码如下:#ifndef SLIDERBUTTON_H#define SLIDERBUTTON_H #inc...

2020-11-01

C++枚举类型enum与enum class的使用

一.关于枚举类型1. 什么是枚举类型&#63;
答:如果一个变量只有几种可能的值,那么就可以定义为枚举类型,比如:性别只有男和女,那么就可以将性别定义为一种枚举类型,其中男和女就是...

2020-11-01

使用QPainter画一个3D正方体

本文实例为大家分享了QPainter画一个3D正的具体代码,供大家参考,具体内容如下My3DBox .h#include <Eigen/Geometry>using namespace Eigen;#define SQUARE_LENGTH 200//是一个...

2020-11-01

Qt使用QPainter绘制3D立方体

本文实例为大家分享了使用QPainter绘制3D立方体的具体代码,供大家参考,具体内容如下1.实现思路(网上有另一篇类似的,不过他不是用的 Qt 自带的矩阵运算类)实现思路有点类似使用 O...

2020-11-01

简述C++的复杂性

1. C++真的很复杂吗这个问题的答案是肯定的。从C++语言本身的发展和组成来看,C++语言并不是一种单一、“纯粹”的编程语言,他有着复杂的内部结构。最初,C++仅仅是在C的基础上附...

2020-11-01

浅谈C++ IO流

1.输入输出(IO)与流的概念
输入输出(IO)是指计算机同任何外部设备之间的数据传递。常见的输入输出设备有文件、键盘、打印机、屏幕等。数据可以按记录(或称数据块)的方式传递,也可...

2020-11-01

C++实现读写文件的示例代码

1.读取1.1逐行读取void readTxt(string file){ ifstream ifs; ifs.open(file); //将文件流对象与文件关联起来,如果已经关联则调用失败 assert(ifs.is_open()); //...

2020-11-01

一篇文章教你3分钟如何发布Qt程序

导读:Qt程序编写好以后该如何发布。本文教你使用Qt自带工具windeployqt来进行操作。本文字数:500,阅读时长大约:3分钟(1)编写一个简单的程序我们先做一个简单的窗口,添加一个图片资...

2020-11-01

浅析C++ 数据类型

1.C++数据类型简介C++是一种强类型语言,任何变量或函数必须遵循“先申明后使用”的原则。定义数据类型有两个方面的作用:一是决定该类型的数据在内存中如何存储,二是决定可对该...

2020-11-01
返回顶部
顶部