
C++
于大博
如果你不给自己设限,世界上便没有限制你发挥的篱笆。
展开
-
软件模块三层架构UI、BLL、DAL
三层架构分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)1、实体类库(Model),主要存放数据库中的表字段。操作:(1)先建立实体类库Model,打开项目,在解决方案中右键--》添加--》新建项目--》选中类库--》改名Model--》确定(2)选中Model类库--》Shift+ALT+C--》建立实体类。UserInfo类namespace Model...转载 2019-10-31 15:37:46 · 1447 阅读 · 0 评论 -
math.h数学函数
函数定义abs -- 绝对值acos -- 反余弦acosh -- 反双曲余弦asin -- 反正弦asinh -- 反双曲正弦atan2 -- 两个参数的反正切atan -- 反正切atanh -- 反双曲正切base_convert -- 在任意进制之间转换数字bindec -- 二进制转换为十进制ceil -- 进一法取整cos -- 余弦...原创 2019-10-31 10:30:57 · 3570 阅读 · 0 评论 -
C++字符数组和字符串相互转换
// 将string类型转换为字符数组char arr[10];string s("12345");int len = s.copy(arr, 9);arr[len] = '\0';// 或者char arr[10];string s("12345");strcpy(arr, s.c_str());//strncpy(arr, s.c_str(), 10);// 字符数组转...原创 2019-10-29 16:49:36 · 1339 阅读 · 0 评论 -
VS工程使用.lib库文件配置详解
1. 项目选择属性2.附加依赖项3.确认完成原创 2019-10-22 18:07:50 · 539 阅读 · 0 评论 -
C++单例模式实现(采用C++11智能指针)
单例模式,顾名思义,即一个类只有一个实例对象。C++一般的方法是将构造函数、拷贝构造函数以及赋值操作符函数声明为private级别,从而阻止用户实例化一个类。那么,如何才能获得该类的对象呢?这时,需要类提供一个public&static的方法,通过该方法获得这个类唯一的一个实例化对象。这就是单例模式基本的一个思想。下面首先讨论不考虑线程安全的问题(即:单线程环境),这样...转载 2019-09-10 16:53:17 · 2075 阅读 · 1 评论 -
C++两个类相互调用实现
两个类A和B实现互相调用彼此的方法,如果采用彼此包含对方头文件的方式会出现循环引用,所以采用了类的前置声明的方式:1.class A采用前置声明的方式声明class B2.在ClassB的头文件中包含class A 的头文件3.在class A中只能声明class B类型的指针或者引用具体代码如下:A.h#pragma once class B;class A{...转载 2019-09-10 14:44:55 · 3234 阅读 · 0 评论 -
(void)变量表示什么含义
防止编译器编译时报警告的用法。有些变量如果未曾使用,在编译时是会报错,从而有些导致编译不过,所以才会出现这种用法。而此语句在代码中没有具体意义,只是告诉编译器该变量已经使用了。case CDMILAGERESET_METHOD_ID: // CdMilageReset{ uint8_t milageReset = payloadData[0]; (void)milageR...原创 2019-09-03 10:46:01 · 1707 阅读 · 0 评论 -
error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.
【项目属性】,点击【C++】里的【预处理器】,对【预处理器】进行编辑,在里面加入一段代码:_CRT_SECURE_NO_WARNINGS原创 2019-07-31 16:03:45 · 349 阅读 · 0 评论 -
C/C++ 函数指针
一、函数指针介绍函数指针指向某种特定类型,函数的类型由其参数及返回类型共同决定,与函数名无关。举例如下:int add(int nLeft,int nRight);//函数定义该函数类型为int(int,int),要想声明一个指向该类函数的指针,只需用指针替换函数名即可:int (*pf)(int,int);//未初始化 则pf可指向int(int,int)类型的函数。p...转载 2019-06-20 10:08:31 · 246 阅读 · 0 评论 -
C++智能指针的原理和实现
1.智能指针智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函数中释放传入的指针。智能指针的类都是栈上的对象,所以当函数(或程序)结束时会自动被释放,2. 最常用的智能指针1)std::auto_ptr,有很多问题。 不支持复制(拷贝构造函数)和赋值(operator =),但复制或赋值的时候不会提示出错。因为不能被复制,所以不能被放入容器中。 2) C++11引入的...转载 2019-06-19 11:16:41 · 5298 阅读 · 0 评论 -
C++STL相关问题
1.用过那些容器最常用的容器就是:vector, list, map, hash_map等等。2.vector,list,deque的实现vector是一块连续内存,当空间不足了会再分配。list是双向链表。deque是双端队列可在头和尾部插入、删除元素。3.hashmap和map有什么区别一个是基于hash表实现,一个是基于红黑树实现。4.红黑树有什么特性5.ST...转载 2019-06-19 11:09:00 · 246 阅读 · 0 评论 -
C++实现一个String类
构造函数,析构函数,拷贝构造函数(copy constructor),重载赋值操作符(copy assignment operator)首先是至少能够准确的写出这几个函数的声明。class String {public: String(); String(const char *); //旧写法: //String(const S...转载 2019-06-19 11:05:28 · 982 阅读 · 0 评论 -
C++基础篇
1.C++和C相比最大的特点 1)面向对象:封装,继承,多态。 2)引入引用代替指针。 3)const /inline/template替代宏常量。 4)namespace解决重名的问题。 5)STL提供高效的数据结构和算法2.虚函数 实现多态所必须,父类类型的指针指向子类的实例,执行的时候会执行之...转载 2019-06-19 11:00:09 · 199 阅读 · 0 评论 -
C++指定范围取随机数方法
//srand((unsigned)time(null));//#define Random(min,max) (rand()%(max-min+1)) + min - 1//#define Random(min,max) (rand()%(max-min)) + min//#define Random(min,max) (rand()%(max-min))+ min + 1//#def...原创 2019-01-07 18:40:53 · 2773 阅读 · 0 评论