C++编程基础
文章平均质量分 51
C++编程语言及相关技术
三月微暖寻春笋
选择大于努力,方向决定努力的价值。所有的努力与挣扎都是为了内心的平和。
展开
-
【C++编程基础】指针变量
在输出语句输出时,系统先根据变量与地址的对应关系找到变量i的地址,因i是整形,所以就取出变量i所在地址开始的4个字节,从这四个字节中取出内容将它输出到显示器上,这种方式称为直接存取方式,或直接访问。前两行定义了一个整形和一个指向整形的指针变量,第三行含义是将i_point设置为指向整形变量i的地址,第四行设置整形i的值为5,第五行含义是将3赋值给指针变量i_point所指向的变量,所以第五行改变了i_point所指向的变量的值。为了说的更清楚,请看下面这段代码,输出的整形变量i的值是多少?原创 2024-04-22 15:54:38 · 304 阅读 · 0 评论 -
【C++编程基础】两个智能输入输出对象
在C语言中使用printf函数来输出变量或字符串,在使用printf函数时还需要设置格式控制符,告诉机器你要输出的是数据还是字符,比较麻烦。但在C++语言中,在C++内部预定义了两个输入输出对象,cout和cin,可以自动根据变量的类型来输出相应的信息,所以称之为智能输出对象。cout是ostream类的对象,cin是istream的对象,而ostream类和istream类是在iostream文件中定义的类。原创 2024-04-17 19:08:02 · 328 阅读 · 0 评论 -
【C++编程基础】C++语言简介
机器中一般有编译器和链接器(这些一般都集成在一个开发环境中),当程序员写完程序后,是一个个.cpp文件,这些是编译的最小单元,机器中的编译器将一个个cpp文件解析成机器可识别目标代码,这个过程就是编译。C++语言的流行不仅源于它保留了C语言的硬件处理能力, 以及更强大的数据处理能力,而且现在很多厂商提供了大量有用的类库,可以方便重用和修改。C++是在C语言基础上发展起来的,C语言赋予了C++语言紧密联系硬件的能力(C++名称中的“++”就是来自于C语言中的递增操作符)。原创 2024-03-30 16:49:55 · 373 阅读 · 0 评论 -
【C++编程基础】对象的赋值
类的对象的赋值就是属于同一个类的两个对象,将其中一个对象的数据成员的值赋值给另一个对象的数据成员。对象之间的赋值也是通过赋值运算符“=”进行的。本来赋值运算符只能用来对单个变量赋值,现在扩展为对两个同类对象之间的赋值,C++内部是通过对赋值运算符的重载实现的,实际上是通过成员复制完成的,将对象的数据成员值一一复制给另一个对象的数据成员值。亲爱的小伙伴们,本文一起学习同属一个类的对象之间的赋值,每日学习点新知识,旧知识学习相信也会有新的感受。原创 2024-03-27 15:31:13 · 438 阅读 · 0 评论 -
【C++编程基础】对象的动态建立与释放
C++程序中对象占用的内存开销比一般的变量和函数要大很多,对于长生命周期的对象,如果内存空间一直得不到释放就会造成程序运行效率低下,甚至导致有些内存碎片一直无法回收,最终导致系统运行卡顿。而动态对象可以在需要用到对象时建立,不需要使用时就撤销它,释放它所占用的内存空间供别的数据使用,这样可以提高内存空间的使用率。这种方式创建的对象只有在函数结束时,对象的内存空间才会被释放,导致在函数或程序结束前,该部分的内存空间一直被占用。同静态对象一样,动态对象在释放内存空间之前会自动调用析构函数。原创 2024-03-26 15:43:26 · 267 阅读 · 0 评论 -
C++编程进阶:对象作为函数形参
C++全局对象使用,以log日志为例。原创 2022-09-23 13:26:31 · 1445 阅读 · 0 评论 -
c++应用程序内存泄露检测
你的程序确定没有内存泄露???原创 2022-07-15 16:49:21 · 664 阅读 · 0 评论 -
【C++编程基础】变量的一般命名规则
c++工程简要的命名规则原创 2022-07-05 15:58:36 · 1937 阅读 · 0 评论 -
c++命名规则和规范
命名规则约定 名称 描述 实例 类 混合使用大小写,且首字母大写 ClassName 新类型定义 枚举和typedef,混合使用大小写,且首字母大写 TypeName ...原创 2021-10-18 15:39:43 · 307 阅读 · 0 评论 -
【C++编程基础】类的成员函数重载
以上三个函数函数名称相同,但参数类型或个数不同,在c语义中分别实现后可以实现函数重载,调用时通过参数类型的不同可以调用不同的功能;函数重载简单说是一个函数实现多个功能,函数名称相同但函数的参数不同或参数类型不同。原创 2021-02-21 15:36:04 · 1658 阅读 · 0 评论 -
c++中精确计时的类
为了测试系统的效率,写了两个计时的类,备份下。头文件#pragma once#include <windows.h>class CStaticTime{public: CStaticTime(); ~CStaticTime();public: void TimingStart(); void TimingEnd(); double GetInt...原创 2019-08-29 14:23:54 · 254 阅读 · 0 评论 -
CreateProcess函数
BOOL CreateProcess(PCTSTR pszApplicationName,PTSTR pszCommandLine,PSECURITY_ATTRIBUTES psaProcess,PSECURITY_ATTRIBUTES psaThread,BOOL bInheritHandles,DWORD fdwCreate,PVOID pvEnvironment,PCTSTR...原创 2019-08-23 21:24:22 · 1489 阅读 · 0 评论 -
【C++编程基础】指针和数组的区别
c也不受大小限制,与。原创 2018-09-13 14:20:06 · 1932 阅读 · 0 评论 -
【C++编程基础】虚函数的实现
虚函数就是一个程序中能够出现同名的函数名,程序执行时根据参数的类型不同执行不同的函数。定义虚函数只需要在函数类型的前面加 “virtual” 就行了,只需在声明时加上,在定义时无需加上。如果有需要,其他的结构体初始化也可以实现重载,这就是C++中的2重载,3重载。原创 2018-09-12 14:45:14 · 322 阅读 · 0 评论 -
c++中运算符的重载
为什么要重载运算符重载能够让一个运算符根据运算符两侧的类型调用不同的函数,实现多重功能,精简优化代码。重载方式返回值 operator 运算符 (形参列表)举例:实现两个时间相减功能,利用boost中的data_time库 重载运算符减号 “-” 使用时包含头文件#include <boost/date_time/gregorian/gregorian....原创 2018-09-16 16:13:43 · 340 阅读 · 0 评论 -
关于c++中utf8和gbk编码方式的转换
GBK转utf8如下:string GBKToUTF8(const std::string& strGBK) { string strOutUTF8 = ""; WCHAR * str1; int n = MultiByteToWideChar(CP_ACP, 0, strGBK.c_str(), -1, NULL, 0); str1 = new转载 2016-12-29 14:15:46 · 4393 阅读 · 1 评论 -
boost库文件处理
boost::filesystem库提供了安全、可移植且易用的 C++ 接口,用于执行文件系统操作。包括创建文件夹,删除文件夹,查询文件的子目录,父目录,文件状态的检测等等 对于路径:C:\opencv2\opencv\build 文件夹的创建:string opencv="C:\opencv2\opencv\build";boost::filesystem::path build(op原创 2016-12-30 16:52:02 · 633 阅读 · 0 评论 -
c++使用tinyxml创建xml文件
#include <iostream>#include "tinyxml.h"using namespace std;#pragma comment(lib,"tinyxml.lib")const char* AttributeName[4]={"TITLE","ARTIST","PRICE","YEAR"};const char* Attribute[4][3]={{"Empire Bur原创 2017-06-27 11:33:08 · 1385 阅读 · 0 评论 -
c++编程常用函数备份
检测cpu内核的数目:int CDomCheck::core_count(){ SYSTEM_INFO si; GetSystemInfo(&si); int count = si.dwNumberOfProcessors; return count;}原创 2017-08-15 15:41:44 · 484 阅读 · 0 评论 -
c++中双指针的初始化
双指针初始化: 字符串双指针初始化:char **text = new char*[512]; for (int i = 0; i < 512; i++) { text[i] = new char[1024]; }整型双指针初始化:int **temp;int i = 0;//初始化temp = new int*[100];...转载 2018-07-23 10:27:15 · 5069 阅读 · 0 评论 -
c++中TRUE与true的区别,BOOL与bool的区别
FALSE/TRUE与false/true的区别 1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define,这要用途 是解决程序在C与C++中环境的差异,以下是FALSE/TRUE在windef.h的定义:#ifndef FALSE#define FALSE 0#endif#ifndef TRU转载 2017-12-13 16:25:43 · 12781 阅读 · 0 评论 -
C++字符串与字符指针之间转换
前几天在做网络通信时,遇到一个小问题,里面有一个要把字符串转化为字符指针的需求。C语言中的字符指针其实相当于c++中的string,只不过c++把它封装了而已。这样做不会出现错误,把指针变量a的首地址赋值给了b的首地址。在c++中,字符串在内存的存储方式就是和字符指针的存储方式一样的。但如果你要复制给一个字符数组就不对了,如因为b在此处是一个常量,表示的是一个地址,常量是不能被赋值的。但是如果这样复制却是可以的这相当于对字符数组初始化,这是c语言中字符数组初始化的方式。原创 2016-12-15 10:53:38 · 8518 阅读 · 0 评论