C++
Folllll
这个作者很懒,什么都没留下…
展开
-
VS2010 error LNK2019: unresolved external symbol _WinMain
MSVCRTD.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in funct本来应该是console application , 我却选择了Windows application (这就是本质原因,但是出错了也不要紧,百度到了一个很好的博客)链接如下:http://blog.csdn.net/tianyi1991/article/details/44134641编译出现:MS转载 2021-04-16 16:11:03 · 483 阅读 · 0 评论 -
C++中dynamic_cast和dynamic_pointer_cast
C++ 中提供了四种强制类型转换操作符:static_cast, dynamic_cast, const_cast, reinterpret_cast。而关于shared_ptr 无法利用这些原始的操作符进行转换,其定义了自己的类型转换操作符:static_pointer_cast, dynamic_pointer_cast, const_pointer_cast 。其用途跟非智能指针的cast意思相同:static cast可以用来在不相干的类型间转换,只要两个类型之间兼容,例如char 转 intd转载 2021-04-14 13:38:45 · 1079 阅读 · 0 评论 -
实现通用的数组类模板C++
要求:可以对内置数据类型以及自定义数据类型的数据进行存储将数组中的数据存储到堆区构造函数中可以传入数组的容量提供对应的拷贝构造函数以及operator=防止浅拷贝问题提供尾插法和尾删法对数组中的数据进行增加和删除可以通过下标的方式访问数组中的元素可以获取数组中当前元素个数和数组的容量源码: 数组模板.hpp#pragma once#include <iostream>using namespace std;template<class T>class原创 2021-02-23 20:51:03 · 259 阅读 · 0 评论 -
C++中的运算符重载总结
运算符重载在C++中会把运算符当作函数来处理,当我们使用运算符时,编译器其实是把运算符翻译成函数,由于C++支持函数重载,所以C++中的运算符也是可以重载的,这样可以对类对象进行定制操作,从而简化操作、提高代码的可读性,如:string类就一个支持众多运算符的字符串类。Class A{};A a,b;当对象支持+运算符时:a + b;成员函数: const A& operator+(const A& b);全局函数: const A& operator原创 2021-02-15 15:51:43 · 146 阅读 · 0 评论 -
C++类型信息和异常处理介绍
一、类型信息typeid 用于获取数据类型的信息,返回值是type_info类型的对象,需要加头文件typeinfo。type_info类型: name() 返回基本类型的缩写,返回自定义类型的名字。 同时还支持 == != 用于判断两种数据是否是同一种类型。注意:如果用于判断父子类型的指针或引用,它并不能准确判断出实际的类对象,但是如果父类中有虚函数则可以。二、异常处理C++异常处理是一种错误的处理方式,系统使用信号,C语言使用返回值。1、抛异常 把一个包含错误信原创 2021-01-22 16:52:27 · 156 阅读 · 1 评论 -
STL模板库介绍
一、模板技术是一种自动生成代码的技术,能够让代码在编写时不需要考虑数据类型(让代码脱离数据类型),所以这种技术也叫泛型编程技术。二、为什么使用模板1、C/C++是一种静态编程语言(预处理->汇编->编译->链接),静态编程语言的优点是运行速度快,而缺点是实现通用的代码比较麻烦,例如:实现一个通用的快速排序算法。2、借助回调函数实现通用代码,实现难度高且使用麻烦。3、借助宏函数实现通用代码,但类型检查不严格、没有返回值、容易出错。4、借助函数重载机制实现通用代码,缺点是代码段会原创 2021-01-19 11:40:12 · 164 阅读 · 0 评论 -
C++中的函数重载定义以及概念理解
1、什么是函数重载C++中,在同一作用域下,形参列表不同的同名函数构成重载关系,且不会冲突。2、重载实现的机制C++代码在编译时函数的参数类型会添加函数名中,也就是说C++的函数名在编译时经历的换名的过程,借助这个方式实现了函数的重载。 注意:由于C++和C函数的编译机制不同,所以C++代码不调用C编译器所编译出的函数。3、extern “C” {}功能是告诉C++编译器按照C语言的机制声明函数,这样C++中的代码就可以调用C编译编译出的函数了(C++目标文件与C的目标文件才能原创 2021-01-15 23:06:29 · 2344 阅读 · 0 评论 -
C++类的继承以及相关知识
一、类的继承1、当面临一个问题时,现在的类是否能解决部分问题,如果可以则把现在的继承然后再进行拓展,来缩短解决问题的时间、降低解决问题的难度(继承就是了代码复用)。2、当面临的问题比较复杂时,可以把问题分层,第层设计一个类,然后再通过继承进行汇总,最终得到一个可以解决问题的类,以此降低解决问题的难度。二、继承的基本语法1、继承表一个类可以继承多个类,被继承的类叫父类(基类),继承者叫子类(派生类),每个父类都可以有不同的继承方式。class 子类:继承方式1 父类1,继承方式2 父类2...原创 2021-01-15 23:02:01 · 232 阅读 · 0 评论 -
C++入门必看
一、C++介绍贝尔实验的本贾尼.斯特劳斯特鲁普,于1979年在分析Linux系统分布内核流量分析时,希望有一个更加模块化的工具,于是他为C语言增加了类的机制(面向对象),于1983年完了C++的第一个版本。特点: 1、C++完全兼容C语言的所有内容。 2、支持面向对象的编程思想(抽象、封装、继承、多态)。 3、支持函数、运行符重载。 4、支持泛型编程、模板技术。 5、技术异常处理机制。 6、类型检查更严格。二、第一个C++程序1、文件扩展名原创 2021-01-06 16:59:02 · 90 阅读 · 0 评论