![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C++
文章平均质量分 54
总会有难熬的日子,但你会感谢今日努力拼命的自己
芒种、
这个作者很懒,什么都没留下…
展开
-
详解floor函数、ceil函数和round函数
即就是如果数是2.2 ,那向下取整的结果就为2.000000。即就是如果数是2.2 ,那向上取整的结果就为3.000000。成功:返回一个double类型的数,此数默认有6位小数。成功:返回一个double类型的数,此数默认有6位小数。原型:double floor(doube x);原型:double round(doube x);原型:double ceil(doube x);即就是如果数是2.2 ,那四舍五入的结果就为2。功能:把一个小数向下取整。功能:把一个小数向上取整。功能:把一个小数四舍五入。原创 2023-01-12 15:38:55 · 3226 阅读 · 1 评论 -
vs一个解决方案中有两个项目,一个项目调用另一个项目中的函数
方法一如果是VS编译器。那么找到需要引用项目里的引用。右键 - 添加引用。左侧列表解决方案项目。选择上需要引用的那个项目就可以了。 但是需要注意被引用的项目需要时public 权限才能正常引用到。方法二或者直接吧被引用项目的文件夹下的.dll文件(貌似.exe也可以引用).复制到需要引用项目的文件夹Debug文件夹里面。然后再通过右键引用。浏览把这个.dll引用。上面都是托管程序集(貌似是这个叫法)引用。C#貌似都是托管的。非托管的引用不太会。其实引用就是引用另外一个项目的.dll (貌似原创 2020-11-06 09:42:12 · 12924 阅读 · 0 评论 -
C++观察者设计模式
一、观察者模式观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都要得到通知并自动更新。主要解决:一个对象更新,其它对象也要更新。如何解决:目标类通知函数通知所有观察者自动更新。关键代码:在目标类中增加一个ArrayList来存放观察者们。// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。#include "stdafx.h"#include <iostream>#include <cmath&原创 2020-07-22 10:26:42 · 117 阅读 · 0 评论 -
C++适配器设计模式
一、适配器模式适配器模式:将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。主要解决:主要解决在软件系统中,常常要将一些"现存的对象"放到新的环境中,而新环境要求的接口是现对象不能满足的。何时使用: 1、系统需要使用现有的类,而此类的接口不符合系统的需要。 2、想要建立一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作,这些源类不一定有一致的接口。 3、通过接口转换,将一个类插入另一个类系中。(比如老虎和飞原创 2020-07-16 17:37:10 · 130 阅读 · 0 评论 -
C++策略设计模式
一、策略模式核心思想:Strategy 模式将逻辑(算法)封装到一个类(Context)里面,通过组合的方式将具体算法的实现在组合对象中实现,再通过委托的方式将抽象接口的实现委托给组合对象实现#include <iostream>#include <cmath>#include <string>using namespace std;//策略基类class CashSuper{public: virtual double AcceptMoney(do原创 2020-07-16 14:34:41 · 156 阅读 · 0 评论 -
C++工厂设计模式
一、工厂模式工厂模式包括三种:简单工厂模式、工厂方法模式、抽象工厂模式。工厂模式的主要作用是封装对象的创建,分离对象的创建和操作过程,用于批量管理对象的创建过程,便于程序的维护和扩展。1.简单工厂模式核心思想:是用一个工厂来根据输入的条件产生不同的类,然后根据不同类的 virtual 函数得到不同的结果,只抽象产品,不抽象工厂#include "stdafx.h"#include <iostream>using namespace std;//计算基类class Operat原创 2020-07-16 10:59:18 · 713 阅读 · 1 评论 -
vs2019安装和使用教程
一、官网下载下载地址:https://visualstudio.microsoft.com/zh-hans/?rr=https://www.microsoft.com/zh-cn/左下角分别为社区版、专业版、企业版。通常我们下载的社区版(免费)点击下载之后会自动下载一个vs.exe的文件二、选择安装点击刚刚下载的程序包,选择继续。进入等待安装界面程序下载安装好后,会进入以下页面工作负载,我勾选了ASP.NET和Web开发,Python开发,.NET桌面开发,使用C++的桌面开发,原创 2020-07-14 09:58:36 · 1879 阅读 · 0 评论 -
使用OutputDebugString输出调试信息
一 问题引出OutputDebugString: 输出调试信息的时候一般是在DEBUG模式下,不过如果不加控制条件,在release模式下也可以使用OutputDebugStringA: 输出普通字符串的数据信息OutputDebugStringW: 输出宽字节类型的数据信息在编写控制台程序的时候我们经常会使用printf输出调试信息,使我们了解程序的状态,方便调试,但是当编写非控制台程序的时候这种方法就行不通了,那我们应该怎么办?上网查了一些方法,大致就如下几种:使用Log机制用TRACE宏转载 2020-07-06 11:02:56 · 2305 阅读 · 0 评论 -
C++获取系统当前时间(精确到毫秒)
代码实现#include "stdafx.h"#include <string>#include <chrono>#include <iostream>using namespace std;//获取时间标记time_t getTimeStamp(){ std::chrono::time_point<std::chrono::system_clock, std::chrono::milliseconds> tp = std::ch.原创 2020-06-29 17:07:44 · 5500 阅读 · 0 评论 -
vs 中的lib 和 dll创建和使用
1. 加载lib/头文件分两种方法:(1)适用于当前项目1 第一步:项目->属性->C/C++->常规->附加包含目录(浏览.h文件的路径) 添加包含文件2 第二步:项目->属性->C/C++->链接器->输入->附加依赖项(写入lib的名称) 添加库文件3 项目->属性->C/C++->链接器->输入->附加依赖项 添加用到的lib 4 第三步:在要使用cpp文件前加入 #incl转载 2020-06-18 10:23:34 · 1464 阅读 · 0 评论 -
C++中四种强制类型转换区别详解
C++即支持C风格的类型转换,又有自己风格的类型转换。C风格的转换格式很简单,但是有不少缺点的:1.转换太过随意,可以在任意类型之间转换。你可以把一个指向const对象的指针转换成指向非const对象的指针,把一个指向基类对象的指针转换成一个派生类对象的指针,这些转换之间的差距是非常巨大的,但是传统的C语言风格的类型转换没有区分这些。2.C风格的转换没有统一的关键字和标示符。对于大型系统,做代码排查时容易遗漏和忽略。C++风格完美的解决了上面两个问题。1.对类型转换做了细分,提供了四种不同类型转换,以转载 2020-06-18 09:07:16 · 815 阅读 · 0 评论 -
vs 2015 项目筛选器没了,.h头文件和.cpp文件混在一起了
场景:git 拉取 VS 2015 项目,打开之后,.h头文件和.cpp文件混在一起了。解决方案:需要XXX…vcxproj.filters 文件。转载 2020-06-18 09:01:35 · 877 阅读 · 0 评论