![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++新手
文章平均质量分 82
sixstar666
这个作者很懒,什么都没留下…
展开
-
工厂方法模式提供了创建对象的机制, 能够提升已有代码的灵活性和可复用性。
工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。工厂方法模式问题假设你正在开发一款物流管理应用。 最初版本只能处理卡车运输, 因此大部分代码都在位于名为 卡车的类中。一段时间后, 这款应用变得极受欢迎。 你每天都能收到十几次来自海运公司的请求, 希望应用能够支持海上物流功能。在程序中新增一个运输类会遇到问题如果代码其余部分与现有类已经存在耦合关系, 那么向程序中添加新类其实并没有那么容易。这可是个好消息。 但是代码问题该如何处理呢? 目转载 2021-06-29 16:12:54 · 316 阅读 · 0 评论 -
C++编程基础入门知识(最详细建议收藏)
字数过多,可跳到最后1.1 第一个C++程序编写一个C++程序总共分为4个步骤创建项目创建文件编写代码运行程序1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开1.1.2 创建文件右键源文件,选择添加->新建项1.1.3 编写代码c++#includeusing namespace std;int main() { cout << "Hello world" << endl;原创 2021-06-08 16:54:13 · 11237 阅读 · 1 评论 -
C++:听说C++很难学?该怎么学习C++?
C++以其复杂的语法、指针、内存管理、泛型编程等特性难倒了一大批IT学子。小编以CSharp入门,中途转C++的时候痛苦过一段时间,不过随着业务能力的精进,已经逐渐爱上这门功能强大、灵活的语言了。下面就分享一下学习经验如何学习C++关于如何学习C++,这个问题光嘴讲是没用的,还是需要自己动眼、动手、动脑。总结下来就无非这三个步骤:学学,不管是看书、看视频、还是参参加培训都可以,至少要系统化且持续性的去学习这门语言。个人建议如果有条件参加培训是最好的,如果没有可以看视频学习。但是不管是哪种方式,我都原创 2021-06-03 17:29:06 · 346 阅读 · 1 评论 -
学了C/C++,你可以从事哪些岗位?
20世纪80年代,AT&T Bell(贝尔)实验室的Bjarne Stroustrup博士及其同事在C语言的基础上成功开发出C++语言。C++语言是一种混合型语言,它保留了C语言所有的优点,同时又增添了面向对象的编程机制,我们可以将C++语言视为C语言的改进和扩展.基于C语言开发的C++语言兼容C语言,因此用C语言编写的程序基本上可以不做改动地用于C++。相对于C语言,C++语言对C语言的功能做了一定的扩充,同时增添了面向对象编程机制。引入面向对象编程机制,主要是为了提高开发效率。C/C++语言原创 2021-06-02 14:14:38 · 7324 阅读 · 2 评论 -
40岁C++没有中年危机
强大、灵活、复杂:C++ 的起源可以追溯到 40 年前,但它仍然是当今使用最广泛的编程语言之一。为了找出原因,TechRepublic 采访了 C++ 之父 Bjarne Stroustrup。C++ 的起源可以追溯到 1979 年,那时编程语言的创造者 Bjarne Stroustrup 第一次开始研究 C++ 这门语言,当时被称为“带类的 C”(C with Classes)。该语言的设计初衷是作为对 C 编程语言的改进,添加了一些基于面向对象编程的功能。Stroustrup 告诉 TechRepu原创 2021-06-01 14:51:06 · 268 阅读 · 0 评论 -
C++代码整洁之道
整洁的代码在团队中无疑是很受欢迎的,可以高效的被其它成员理解和维护,本文参考《C++代码整洁之道》和《Google C++编码规范》,结合自己的一些想法整理如下:C++本身作为面向对象语言,首先介绍下面向对象一般涉及到的开发原则。面向对象开发原则依赖倒置原则:针对接口编程,依赖于抽象而不依赖于具体,抽象(稳定)不应依赖于实现细节(变化),实现细节应该依赖于抽象,因为稳定态如果依赖于变化态则会变成不稳定态。开放封闭原则:对扩展开放,对修改关闭,业务需求是不断变化的,当程序需要扩展的时候,不要去修改原来原创 2021-05-31 17:01:45 · 508 阅读 · 1 评论 -
C++异常处理入门,C++ try catch入门
开发程序是一项“烧脑”的工作,程序员不但要经过长期的知识学习和思维训练,还要做到一丝不苟,注意每一个细节和边界。即使这样,也不能防止程序出错。专家指出,长期作息不规律 + 用脑过度的危害很大,可能会诱发神经衰弱、失眠等疾病。我就是受害者之一,曾被失眠困扰了好几年,不但入睡困难,还容易早醒。程序员要注意劳逸结合,多去健身房,多跑步,多打球,多陪女朋友旅游等,千万不要熬夜,以为深夜写代码效率高,这样会透支年轻的身体。程序的错误大致可以分为三种,分别是语法错误、逻辑错误和运行时错误:语法错误在编译和链接原创 2021-05-28 18:54:27 · 156 阅读 · 0 评论 -
如何系统学习C++?
大家好,C++ 真的是一门备受争议的语言,关于 C++ 的书籍也是浩瀚如海。那几本 C++ 的四书五经想必大家也早已在各路学习路线中见过了。不过没关系,今天你依然会看见它们的身影哈哈哈。C++ 最大的缺点就是语法复杂,而且难学难精。学习 C 语言也许一本 K&R 的《C程序设计语言》就够了,但是在 C++ 世界里,找不到这样一本书。这是一个爱速成的年代,大多数人很难耐得住寂寞花很长时间去学习一门语言,所以《21天学通C++》的销量还蛮不错的。但是很遗憾,别说 21 天,就是一两年也很难学原创 2021-05-26 16:58:54 · 2968 阅读 · 0 评论 -
干货分享 | C++自学经验
知识点参照上图必学内容,也是面试常问内容:C++基础、数据结构和算法、Linux常用指令、Linux系统编程和网络编程、TCP/IP;数据结构和算法可以报左神的班,一定要每天有空多刷几道题,先简单后难进行学习C++基础中,重点学习如面向对象、多态、虚函数、深拷贝浅拷贝、内存、内存管理、内存对齐、指针、STL容器、智能指针、新特性等;Linux系统编程和网络编程中,重点学习多进程、进程间通信、多线程、线程同步、锁、同步异步、并发并行、IO多路复用等;TCP/IP中,重点学习网络.原创 2021-05-24 19:58:53 · 317 阅读 · 0 评论 -
C++中的RAII机制?
什么是RAII?RAII是Resource Acquisition Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用法。利用的就是C++构造的对象最终会被销毁的原则。RAII的做法是使用一个对象,在其构造时获取对应的资源,在对象生命期内控制对资源的访问,使之始终保持有效,最后在对象析构的时候,释放构造时获取的资源。为什么要使用RAII?上面说到RAII是用来管理资源、避免资源泄漏的方法。那么,用了这么久了,也写了这么多程原创 2021-05-22 19:16:49 · 1028 阅读 · 0 评论 -
C ++之父:别拿C++和其他语言做比较
去年12月4日,C++之父Bjarne Stroustrup参加了全球C++及系统软件技术大会。会议上,他发表了“C++20 与C++的持续演化”的主题演讲,详细阐述了C++20的主要特性、未来标准以及C++23的规划。早在9月份,C++20国际标准草案获得一致通过,C++之父Bjarne Stroustrup就表示:“C++ 20是自C++11以来最大的发行版,它将是C++发展史上的里程碑。”这一发言引起了开发者们对C++20的广泛关注。从正式版来看,像 Concepts/Ranges/Module原创 2021-05-21 21:13:53 · 375 阅读 · 0 评论 -
自学C语言/C++到底难在哪里?
一. 自学C语言,为什么又累又没效率?自学C语言很久了,为什么还是感觉没多少进度?——很多人自学又累又没效率,是因为自学是非常不容易的事情。首先,分享一个典型C程序所需要的知识图:复杂、繁琐,是很多人自学C语言的第一印象。自学之路布满荆棘,你该如何应对呢?▶ 1、你要面对复杂的C语言,语法、数组、指针、算法这些已经让人晕头转向了,还有指针、内存管理这两座大山。错误做法:这个语言太难了,换一个简单点的吧,反正都可以入门编程。如果把自学C语言比作一个游戏,而语法是一层的关卡Boss的话,那么很多人在原创 2021-05-20 20:40:05 · 756 阅读 · 0 评论 -
谈一谈 C++ 中的值的类型
C++98历史上,我们把值分为两类,左值 ( lvalue ) 和右值 ( rvalue )。右值,就是只能在等号右边的值,比如字面量。左值,就是在等号左边出现的值,当然在等号右边也能出现。比如a = 1; // a 是左值, 1 是右值// 这个 1 被称作字面量但是这样的分类方法,在遇到 const int 这样的类型时,就发现一个 const int 既不能分为左值,也不能分类为右值。(有且只有初始化时才能在等号左边出现)所以在 C 中,左值,就是表示了一个“对象”(object)原创 2021-05-19 20:39:37 · 139 阅读 · 0 评论 -
【C++新手教程】C++ 日期 & 时间
C++ 日期 & 时间C++ 标准库没有提供所谓的日期类型。C++ 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C++ 程序中引用 头文件。有四个与时间相关的类型:clock_t、time_t、size_t 和 tm。类型 clock_t、size_t 和 time_t 能够把系统时间和日期表示为某种整数。结构类型 tm 把日期和时间以 C 结构的形式保存,tm 结构的定义如下:struct tm { int tm_sec; // 秒转载 2021-05-15 20:28:41 · 294 阅读 · 0 评论 -
【C++新手教程】C++ 引用
C++ 引用引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。C++ 引用 vs 指针引用很容易与指针混淆,它们之间有三个主要的不同:不存在空引用。引用必须连接到一块合法的内存。一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。引用必须在创建时被初始化。指针可以在任何时间被初始化。C++ 中创建引用试想变量名称是变量附属在内存位置中的标签,您可以把引用当成是变量附属在内存原创 2021-05-15 13:44:07 · 179 阅读 · 0 评论 -
这才是你需要的C语言、C++学习路线
关于C语言和C++的学习路线终于梳理完了。这块的东西很多很杂,不过梳理和总结之后,回过头来看,其实学习思路、学习路线应该还是比较清晰的。由于个人认知有限,不足的地方也欢迎大家评论里补充。先聊几个有趣的问题这几个问题都是经常被问到的,也是我当时学习过程中的一些疑惑。问: 为啥我学完了C语言或者C++,却还是啥东西也做不出来?答:编程语言学完了就能做出东西那也真是天才哇!应该说语言学得就算再精通,它其实也只代表完成了“最小的”那一部分,和实际上手干活之间还是有一个非常大的鸿沟,这个鸿沟就表现为下文原创 2021-05-14 21:41:42 · 266 阅读 · 0 评论 -
【C++新手教程】C++ 指针
C++ 指针学习 C++ 的指针既简单又有趣。通过指针,可以简化一些 C++ 编程任务的执行,还有一些任务,如动态内存分配,没有指针是无法执行的。所以,想要成为一名优秀的 C++ 程序员,学习指针是很有必要的。正如您所知道的,每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字号(&)运算符访问的地址,它表示了在内存中的一个地址。请看下面的实例,它将输出定义的变量地址:#include <iostream> using namespace std; int main原创 2021-05-14 14:41:16 · 214 阅读 · 0 评论 -
【纯干货】C++应该怎么学
C++应该怎么学如果把C语言看做是一头性格暴躁难以驯服的公牛的话,那么c++则是一条无比狡猾,凶猛厉害的恶龙。想要降服这条恶龙就需要十分强大的力量,换言之,想要掌握C++就需要谨小慎微的态度和较为扎实的技术能力。那么,如何才能学好C++呢?对于初学者而言,可能无从下手。毕竟,C++和C语言没有太多联系,(虽然早期人们称C++为含有类的C)不过,在C++的学习之前还是建议先学好C语言,比如数据类型,表达式,数组,指针,结构体等等。建立起编程的逻辑思维,了解基础的计算机知识,这样,才能更好的学习C++。当原创 2021-05-12 19:27:25 · 12652 阅读 · 0 评论 -
【C++新手教程】C++ 字符串
C++ 字符串C++ 提供了以下两种类型的字符串表示形式:C 风格字符串C++ 引入的 string 类类型C 风格字符串C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 RUNOOB 的字符数多一个。char site[7] = {'R', 'U原创 2021-05-12 15:00:56 · 501 阅读 · 0 评论 -
【C++新手教程】C++ 数组
C++ 数组C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个单独的变量,比如 number0、number1、…、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、…、numbers[99] 来代表一个个单独的变量。数组中的特定元素可以通过索引访问。所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对转载 2021-05-11 20:31:09 · 367 阅读 · 0 评论 -
【C++新手教程】C++ 数字
C++ 数字通常,当我们需要用到数字时,我们会使用原始的数据类型,如 int、short、long、float 和 double 等等。这些用于数字的数据类型,其可能的值和数值范围,我们已经在 C++ 数据类型一章中讨论过。C++ 定义数字我们已经在之前章节的各种实例中定义过数字。下面是一个 C++ 中定义各种类型数字的综合实例:#include <iostream>using namespace std; int main (){ // 数字定义 short s;原创 2021-05-10 19:22:47 · 465 阅读 · 0 评论 -
【C++新手教程】C++ 函数
C++ 函数函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。函数声明告诉编译器函数的名称、返回类型和参数。函数定义提供了函数的实际主体。C++ 标准库提供了大量的程序可以调用的内置函数。例如,函数 strcat() 用来连接两个字符串,函数 memcpy() 用来复制内存到另一个原创 2021-05-10 15:00:36 · 248 阅读 · 0 评论 -
【C++新手教程】C++ 判断
C++ 判断判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。下面是大多数编程语言中典型的判断结构的一般形式:C++ 中的判断语句判断语句C++ 编程语言提供了以下类型的判断语句。点击链接查看每个语句的细节。? : 运算符我们已经在前面的章节中讲解了 条件运算符 ? :,可以用来替代 if…else 语句。它的一般形式如下:Exp1 ? Exp2 : Exp3;其中,Exp1、Exp2 和 Exp3 是表达式。请原创 2021-05-08 19:20:22 · 280 阅读 · 0 评论 -
【C++新手教程】C++ 循环
C++ 循环有的时候,可能需要多次执行同一块代码。一般情况下,语句是顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。编程语言提供了允许更为复杂的执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的一般形式:循环类型C++ 编程语言提供了以下几种循环类型。点击链接查看每个类型的细节。循环控制语句循环控制语句更改执行的正常序列。当执行离开一个范围时,所有在该范围中创建的自动对象都会被销毁。C++ 提供了下列的控制语句。点击链接查看每转载 2021-05-07 19:01:11 · 778 阅读 · 0 评论 -
【C++新手教程】C++ 运算符
C++ 运算符运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C++ 内置了丰富的运算符,并提供了以下类型的运算符:算术运算符关系运算符逻辑运算符位运算符赋值运算符 杂项运算符本章将逐一介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。算术运算符下表显示了 C++ 支持的算术运算符。假设变量 A 的值为 10,变量 B 的值为 20,则:实例请看下面的实例,了解 C++ 中可用的算术运算符。复制并粘贴下面的 C++ 程序到 test.cpp 文件原创 2021-05-07 15:44:41 · 285 阅读 · 0 评论 -
【C++新手教程】C++ 存储类
C++ 存储类存储类定义 C++ 程序中变量/函数的范围(可见性)和生命周期。这些说明符放置在它们所修饰的类型之前。下面列出 C++ 程序中可用的存储类:autoregisterstaticexternmutablethread_local (C++11)从 C++ 17 开始,auto 关键字不再是 C++ 存储类说明符,且 register 关键字被弃用。auto 存储类自 C++ 11 以来,auto 关键字用于两种情况:声明变量时根据初始化表达式自动推断该变量的类型、声明函数原创 2021-05-06 20:13:02 · 181 阅读 · 0 评论 -
【C++新手教程】C++ 修饰符类型
C++ 修饰符类型C++ 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。下面列出了数据类型修饰符:signedunsignedlongshort修饰符 signed、unsigned、long 和 short 可应用于整型,signed 和 unsigned 可应用于字符型,long 可应用于双精度型。修饰符 signed 和 unsigned 也可以作为 long 或 short 修饰符的前缀。例如:uns原创 2021-05-06 14:32:35 · 146 阅读 · 0 评论 -
【C++新手教程】C++ 修饰符类型
C++ 修饰符类型C++ 允许在char、int 和 double数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。下面列出了数据类型修饰符:signed unsigned long short修饰符signed、unsigned、long 和 short可应用于整型,signed和unsigned可应用于字符型,long可应用于双精度型。修饰符signed和unsigned也可以作为long或short修饰符的前缀。例...原创 2021-05-05 20:06:24 · 123 阅读 · 0 评论 -
【C++新手教程】C++ 变量类型
C++ 变量类型变量其实只不过是程序可操作的存储区的名称。C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C++ 是大小写敏感的。C++ 中的变量定义变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:typ...原创 2021-05-05 14:15:22 · 152 阅读 · 0 评论 -
【C++新手教程】C++ 变量作用域
C++变量作用域作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量。 在函数参数的定义中声明的变量,称为形式参数。 在所有函数外部声明的变量,称为全局变量。 我们将在后续的学习什么是函数和参数。我们先来讲解什么是局部变量和全局变量。局部变量在函数或一个代码块内部声明的变量,称为局部变量。它们只能被函数内部或者代码块内部的语句使用。下面的实例使用了局部变量:实例#include <iostream.原创 2021-04-30 13:38:58 · 155 阅读 · 0 评论 -
【C++教程】C++ 数据类型
C++数据类型使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。您可能需要存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息,操作系统会根据变量的数据类型,来分配内存和决定在保留内存中存储什么。基本的内置类型C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型。下表列出了七种基本的 C++ 数据类型:类型 关键字 布尔型 bool.原创 2021-04-29 19:06:07 · 155 阅读 · 0 评论 -
C++ 注释【菜鸟教程】
程序的注释是解释性语句,您可以在 C++ 代码中包含注释,这将提高源代码的可读性。所有的编程语言都允许某种形式的注释。C++ 支持单行注释和多行注释。注释中的所有字符会被 C++ 编译器忽略。C++ 注释一般有两种: //- 一般用于单行注释。 /* ... */- 一般用于多行注释。 注释以//开始,直到行末为止。例如:#include <iostream>using namespace std; int main() { // 这是一个注释...原创 2021-04-28 21:29:26 · 6882 阅读 · 0 评论 -
大厂程序员整理的 C++ 资源大全,不私藏了,都送给你们吧
大厂程序员整理的 C++ 资源大全,不私藏了,都送给你们吧最后有惊喜!关于 C++ 框架、库和资源的一些汇总列表,由 fffaraz 发起和维护。内容包括:标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。1、标准库 C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。Standard Template Library:标准模板库C POS原创 2021-04-28 19:25:10 · 364 阅读 · 1 评论