C++
晨曦蜗牛
就职于世界500强头部国企,9年工作经验,运维、开发。擅长Java、Python、Go、C/C++等开发语言,对Docker、Kubernetes、KVM、VMware、OpenVz、Hyper-v、Xen、国产化操作系统、平台等有丰富的应用落地与实战经验,有多年从IaaS到SaaS层的全链路应用、工程开发与成果交付经验。
展开
-
在 CLion 远程开发中使用 Docker 快速搭建基于 CentOS 7.4.1708 的 C++ 开发环境
cmake下载地址:https://cmake.org/files/v3.22/cmake-3.22.4-linux-x86_64.tar.gz构建Dockerfile:FROM centos:7.4.1708# https://cmake.org/files/v3.22/cmake-3.22.4-linux-x86_64.tar.gzADD [ "cmake-3.22.4-linux-x86_64.tar.gz", "/usr/local/" ]COPY [ "docker-entrypo原创 2022-05-17 20:15:00 · 771 阅读 · 0 评论 -
CentOS8.4.2105 和 OpenEuler 20.03 下 C++ 编译环境容器镜像构建
CentOS7.x 支持的gcc和g++版本太低,使用 centos 8.x 进行替换,但在实际操作的过程中,使用yum进行依赖更新,出现报错,故写此文以记录。原创 2022-05-10 11:36:17 · 901 阅读 · 0 评论 -
C++ 中关于指向数组的指针与指针数组的一些思考
在 C++ 中,可以将一个指针指向某个数组,也可以使用一个指针数组指向一个数组。这二种方式的具体使用请看以下代码:#include <iostream>int main() { short tell[10] = {10, 2, 1, 3, 4, 5, 6, 7, 8, 9}; std::cout << tell << std::endl; std::cout << &tell << std::endl;原创 2022-02-18 18:16:19 · 561 阅读 · 0 评论 -
C++ 中堆区内存与栈区内存相互赋值的一些思考
一 将堆区分配的数据对象赋值给栈区变量#include <iostream>int main() { int id = 110; int *stack_id = &id; int *heap_id = new int(10); std::cout<<*stack_id<<std::endl; stack_id = heap_id; // 将堆区分配的数据对象赋值给栈区变量 std::cout<<*s原创 2022-02-18 17:05:28 · 855 阅读 · 2 评论 -
C++ 中的函数对象(仿函数)的使用
仿函数、函数对象函数对象,即一个重载了括号操作符“()”的对象。当用该对象调用此操作符时,其表现形式如同普通函数调用一般,因此取名叫函数对象。即重载函数调用操作符的类,其对象通常称为函数对象。函数对象使用重载()时,行为类似函数调用,因此也叫仿函数。函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值。#include<iostream>using namespace std;struct Add { int operator()(int v1, int v2)原创 2022-02-16 16:03:54 · 596 阅读 · 0 评论 -
C++ 开发中,使用类模板实现自定义数组
需求描述: 通过使用 C++ 中类模板的特性,实现一个能够存储任意类型的数组。可以通过在尾部追加的方式在数组中完成数据传入,且可以通过尾部操作删除数组最后一个元素。完整代码如下:#include<iostream>#include<string>using namespace std;template<class T>class Array {public: explicit Array(int capacity) { this-&原创 2022-02-09 19:25:15 · 1709 阅读 · 0 评论 -
几个 C++ 类模板的类内外声明实现实例
类模板中,类内声明,类外实现:#include<iostream>#include<string>using namespace std;template<class T1, class T2>class Demo {public: Demo(T1 v, T2 a); void show();private: T1 var; T2 arg;};template<class T1, class T2>原创 2022-02-08 20:38:13 · 1078 阅读 · 0 评论 -
C++ 类模板与继承
类模板继承需要注意:当子类继承父类是一个类模板时,子类在声明的时候,要指定出父类的中 T 的类型;template<class T>class Base {public: T m;};class Son : public Base<int> { // 必须要知道父类中的 T 的具体类型,才能被子类继承};void test() { Son s;}int main() { test(); return 0;}如果不原创 2022-02-07 19:11:26 · 433 阅读 · 0 评论 -
C++ 类模板实例化对象,向函数传参的方式
C++类模板实例化对象,向函数传参的方式一共有3种:指定传入的类型:直接显示对象的数据类型;#include<iostream>#include<string>using namespace std;template<class T1, class T2>class Demo{public: T1 s_name; T2 i_age; Demo(T1 name, T2 age); void show(){原创 2022-02-07 18:54:44 · 1367 阅读 · 0 评论 -
C++ 类模板中成员函数和普通函数创建时机
类模板中成员函数和普通函数创建时机是有区别的:普通类中的成员函数一开始就创建;类模板中的成员函数在调用时才创建。#include<iostream>using namespace std;class Demo1{public: static void show_demo1(){ cout<<"This is Demo1."<<endl; }};class Demo2{public: static void原创 2022-02-07 18:30:20 · 810 阅读 · 0 评论 -
C++类模板小结
类型选择器,是对 HTML 标签中的 class 属性进行选择。CSS 类选择器的选择符是 “.”。 CSS学习笔记 我是中国人 我爱中国 我们是中国人 8. 属性选择器是根据元素的属性及属性值来选择元素。常用的几种属性选择器: 我爱学习 我爱运动 我爱吃饭 我爱睡觉 9. CSS 伪类用于向某些选择器添加特殊的效果。下面给大家介绍几个.原创 2022-02-07 18:11:53 · 280 阅读 · 0 评论 -
C++课程设计:员工管理系统实战
一 概述公司员工分为3种类型,老板,经理,普通员工,使用C++面向对象特性针对该3种类型员工进行抽象,实现对员工的基本管理,包括增、删、改、查等常规操作,并将数据保存到本地时间数据持久化。二 详细设计2.1 系统菜单********************************************欢迎使用职工管理系统!****************** 0. 退出管理程序 ******************** 1. 增加职工信息 ******************** 2.原创 2022-01-30 14:30:53 · 1167 阅读 · 0 评论 -
C++中文件的读写
C++中文件的读写一 概念通过文件,可以将数据持久化。C++ 中对文件的操作需要包含头文件<fstream>。文本文件,以文本的ASCII码的形式存储在计算机中。二进制文件,以二进制的形式存储在计算机中,用户一般无法直接阅读。操作文本的3个类:ofstream,写操作;ifstream,读操作;fstream,读写操作。打开方式解释ios::in以读文件的方式打开ios::out以写文件的方式打开ios::ate初始位置,文件末尾ios::原创 2022-01-28 15:07:02 · 2755 阅读 · 0 评论 -
C++ 中的深拷贝与浅拷贝理解
● 浅拷贝,简单的赋值拷贝操作。系统利用编译器提供的拷贝构造函数,会做浅拷贝操作。会造成堆区内存重复释放而导致程序崩溃,代码如下:#include<iostream>using namespace std;class Person {public: Person() { cout << "Person的默认构造函数调用" << endl; } Person(int age, int height) {原创 2022-01-20 17:00:41 · 165 阅读 · 0 评论