
c++技术
文章平均质量分 59
Isanti2015
这个作者很懒,什么都没留下…
展开
-
找到一个或多个多重定义的符号
a.h中,有函数实现int a;vector<double> query(CString str, int index){.....}b.cpp中#include "a.h"...c.cpp中#include "a.h"...注:这种情况下引起的“找到一个或多个多重定义的符号”,是因为多个源文件内不能有同名的全局标识,所以不能在头文件内定义全局变量和函数, 1. 第一种解决原创 2017-06-01 11:33:31 · 40694 阅读 · 1 评论 -
根据数字生成Excel列名称(字母组合)
根据数字生成Excel列名称CString NumToColName(unsigned int uiNum){ CString strRes; int numTmp = uiNum; //存储生成的字母,最多255位 char pChars[255]; int remainder = 0; int index = 0; while ((...原创 2019-04-18 22:42:54 · 1531 阅读 · 0 评论 -
C++中static关键字作用总结
1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。举例来说明。同时编译两个源文件,一个是a.c,另一个是main.c。//a.cchar a = 'A'; // global variablevoid msg(){ printf("Hello\n");} ...原创 2019-04-16 22:17:24 · 6165 阅读 · 0 评论 -
CRC校验原理和代码实现
先占个位置,有空在写。CRC原理CRC代码实现优化运行速度原创 2019-04-13 00:43:12 · 1038 阅读 · 1 评论 -
判断两个数(包括整数和效数)之间是否存在整数倍数关系
@TOCQT下实现判断两个数是否存在整数倍数的关系,如下:#include <QCoreApplication>#include <math.h>#include <iostream>using namespace std;const double PRECISION = 0.000001;//获得余数double GetReminder(d...原创 2019-04-13 00:35:55 · 3023 阅读 · 1 评论 -
内存泄漏
内存泄漏 1分类 21.1. 原因 21.1.1. 堆泄漏 31.1.2. 系统资源泄漏 31.2. 方式 41.2.1. 常发性内存泄漏 41.2.2. 偶发性内存泄漏 41.2.3. 一次内存泄漏 41.2.4. 隐式内存泄漏 5危害 6检查原理 6检查工具 64.1. linux 74.1.1. valgrind 74.2. windows 74.2.1. ...转载 2018-12-02 20:54:53 · 260 阅读 · 0 评论 -
C++读写函数
一、 fopen()、fwrite()、fread()头文件:C的库函数,#include<stdio.h>缓冲文件系统和非缓冲文件系统a)缓冲文件系统缓冲文件系统的特点是:在内存开辟一个“缓冲区”,为程序中的每一个文件使用,当执行读文件的操作时,从磁盘文件将数据先读入内存“缓冲区”, 装满后再从内存“缓冲区”依此读入接收的变量。执行写文件的操作时,先将数据写入内存“缓冲区”,...原创 2018-11-04 19:06:27 · 1123 阅读 · 0 评论 -
static全局变量和普通全局变量区别?static局部变量和普通局部变量区别?static函数和普通函数区别
几者的区别重三个方面考虑: 1分配时间不同 2 作用域不同 3 从分配内存空间看static全局变量和普通全局变量区别:区别: 1.static全局变量编译是初始化,在main()函数之前初始化并且仅初始化一次; 2.static全局变量限定了作用范围,仅在定义该变量的源文件中有效,由于静态全局变量的作用域局限于一个源文件内,即文件作用域,只能为该源文件内的函数公用, 因此可以避免在其原创 2017-08-21 20:05:50 · 6049 阅读 · 0 评论 -
C++中string、char *、char[]的转换
一、string转char*。主要有三种方法可以将str转换为char*类型,分别是:data(); c_str(); copy();1.data()方法,如:string str = "hello";const char* p = str.data();//加const 或者用char * p=(char*)str.data();的形式 同时有一点需要说明,这里在devc++中编译需要添加c转载 2017-07-28 23:13:55 · 459 阅读 · 0 评论 -
设计模式基本原则
一、单一职责原则就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱他的设计,当变化发生时,设计会遭受到意想不到的破坏;软件设计真正要做的许多内容就是发现职责并把那些职责相互分离。二、开放-封闭原则软件实体应该可以扩展,但不可修改。该原则是面向对象设计的核心所在,遵循这个原则可转载 2017-07-19 10:54:11 · 597 阅读 · 0 评论 -
MFC中CString,C++中string,c风格字符串
1. 标准C中的字符串 标准C中没有string这样的数据类型,C中的字符串是有char类型的字符数组或者char类型的字符指针来实现的。例如:char name[26]="This is a C-style string"; 或者char *name="This is a C-style string"; 类型的字符串以’\0’为结束标记,所占内存是实际子符长度+1,其初始化和原创 2017-06-08 11:39:49 · 1305 阅读 · 0 评论 -
C++primer第五版课后习题销售类Sales_data的编写
C++primer第五版课后习题销售类Sales_data的编写头文件#pragma once#include <iostream>#include <string>using namespace std;class Sales_data{ friend Sales_data add(const Sales_data &,const Sales_data &);////仅仅声明原创 2016-04-24 11:15:41 · 942 阅读 · 0 评论 -
c++怎么从命令行获取参数及参数的合法性检测?习题为C++primer第五版中的练习题
c++怎么从命令行获取参数及参数的合法性检测?习题为C++primer第五版中的练习题原创 2016-04-24 10:43:22 · 1094 阅读 · 0 评论 -
隐式调用dll
隐式调用dll 1、 Dll1.h#ifdef Dll1_API //如果定义了Dll1_API,则不再定义#else#define Dll1_API _declspec(dllimport)//否则定义为导入#endif//定义的全局函数,dll要导出Dll1_API int add(int a,int b);Dll1_API int subtract(int a,int b);原创 2016-07-16 22:24:58 · 562 阅读 · 0 评论 -
显示加载dll
显示加载dllHMODULE LoadLibrary(LPCTSTR lpFileName); lpLibFileName 指定要载入的动态链接库的名称返回HMODULE,成功则返回库(即dll)模块的句柄,零表示失败,HMODULE和 HINSTANCE一样注:这个函数也可以加载可执行模块exe文件,用以访问对话框、位图、图标资源FARPROC GetProcAddress(HM原创 2016-07-16 23:25:22 · 747 阅读 · 0 评论 -
关于C++模板的使用
很不错的一篇文章C++模板转载 2019-06-23 11:54:25 · 281 阅读 · 0 评论