【C++:字符总结】教程文章相关的互联网学习教程文章

C++ 单例模式总结与剖析

本文转自:https://www.cnblogs.com/sunchaothu/p/10389842.html C++ 单例模式总结与剖析 单例可能是最常用的简单的一种设计模式,实现方法多样,根据不同的需求有不同的写法; 同时单例也有其局限性,因此有很多人是反对使用单例的。本文对C++ 单例的常见写法进行了一个总结, 包括懒汉式、线程安全、单例模板等; 按照从简单到复杂,最终回归简单的的方式循序渐进地介绍,并且对各种实现方法的局限进行了简单的阐述,大量用到了C++...

C++11的智能指针总结

到现在为止遇到了几种智能指针 shared_ptr 特点:可以自动销毁,并且可以多个指针指向同一块动态内存,内部有一个计数器,等到计数器为零就会自动销毁 weak_ptr 特点:是shared_ptr指针的附属,weak_ptr指向shared_ptr的区域,但并不会增加shared_ptr的计数器值,而且也不可以直接使用,需要lock(),提升为shared_ptr才可以使用。 scope_ptr 特点:也可以自动释放,但是不能和其他指针共享内存,也就是一块共享内存只能有一个scope...

c++ 函数章节总结【代码】

一、为什么要使用函数? 1. 简化代码,增强程序的可读性。 把一些计算或操作编成通用的函数,以供随时调用,从而避免了代码的重复冗长;简化代码量,对各个部分进行封装,使问题变得简单而且直观,提高了程序的易读性。 2.提升程序的可维护性。 如果我们把主程序拆分成许多个步骤,为每一个功能编写一个函数,那么根据函数的函数名每个函数的功能就非常清晰了。如果我们要修改某一个函数的功能,其他的函数也丝毫不会受到影响。 3....

C/C++输入输出归纳总结【代码】

输入输出归纳总结 文章目录输入输出归纳总结输入只有一组输入数据有多组测试数据,直到读至输入文件结尾为止在开始的时候输入一个N,接下来是N组数据字符串的输入接收一个字符串,遇空格,Tab,Enter结束使用cin.get()接收字符或字符串使用cin.getline()接收一个字符串,可以接收空格并输出需要包含string头文件的用法:getline()接收包含空格的串需要包含string头文件的用法:gets()接收一个可含空格的字符串需要包含string头文件...

C++ 中 cin.get()、cin.getline()、getline()的用法总结【代码】

原文链接:https://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.htmlC++ 中 cin.get()、cin.getline()、getline()的区别 文章目录C++ 中 cin.get()、cin.getline()、getline()的区别1 输入输出流1.1 cin.get() 用法1.1.1 cin.get(字符变量名)可以用来接收一个字符1.1.2 cin.get(?,?)用来接收一行字符串,可以接收空格1.1.3 cin.get()舍弃回车1.2 cin.getline() 用法1.2.1 cin.getline()接受一个字符串(可含空格)2 str...

C++11 (多线程)并发编程总结【代码】

原文链接:https://www.cnblogs.com/KillerAery/p/9574410.htmlC++11 (多线程)并发编程总结 | 线程std::thread创建std::thread,一般会绑定一个底层的线程。若该thread还绑定好函数对象,则即刻将该函数运行于thread的底层线程。 线程相关的很多默认是move语义,因为在常识中线程复制是很奇怪的行为。 joinable():是否可以阻塞至该thread绑定的底层线程运行完毕(倘若该thread没有绑定底层线程等情况,则不可以join) join():本线...

C++函数部分总结

目录 为什么要使用函数 为什么要用函数重载 C++传参方式 特殊的函数——递归函数为什么要使用函数使用函数可以将一个比较复杂的程序系统的分为若干块简洁的模块,使程序更加清晰明了 比如,我们想要模拟一个栈,我们的入栈,出栈,判空等操作可以封装在push(),pop(),empty()中,可以更加清晰明了的了解到每一步的操作,易于理解程序。 函数可以将一个重复出现的操作定义为一个模块,通过简单的函数名,简单的参数来调用实现这一功能...

c++11 unkown总结

static_cast 类似于c中强制转型 也能把父类型强制转为子类型(不安全 指针不能访问子类型中的函数)在编译时检查 dynamic_cast 在运行时会检查 如果转换不合理 对于指针类型会返回NULLclass T{ public:virtual void t(){} }; class B:public T{ public:void fun(){cout<<"OK"<<endl;} }; int main() {B *b = new B();T *t = new T();B *tmp = dynamic_cast<B*>(t);cout<<(void*)tmp;// 0x0return 0; } 2.完美转发 函数转发问题: 在...

c++11特性学习总结【代码】【图】

ubuntu 16.04 自带gcc 5.4 支持c++11 ubuntu 18.04 自带gcc 7.3 支持c++14 查看编译器支持: c++11 c++14 c++17 c++11 featurenullptr/constexpr enum class auto/decltype for iteration initialize_list lamda template rvalue/movenullptr 以前的编译器实现,可能会把NULL定义为0.所以,当你有两个同名函数foo(int),foo(char*)时,foo(NULL)你的本意可能是调用后者,但实际调用的是前者.nullptr的引入就是为了解决这个问题. void foo...

c++中的string常用函数用法总结

c++中的string常用函数用法总结 标准c++中string类函数介绍 注意不是cstring 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题……...

C++的类型转换运算符总结【代码】【图】

原文链接:https://blog.csdn.net/cv_jason/article/details/82116750C语言的类型转换比较自由,但也带来了一些问题,这些问题大多由程序员自行控制和解决。对于庞大的C++语言机制而言,这种简单粗暴的类型转换方式显然是个巨大的负担,因此C++引入4种类型转换运算符,更加严格的限制允许的类型转换,使转换过程更加规范: dynamic_cast 用于多态类型的转换 static_cast 用于非多态类型的转换 const_cast 用于删除cons...

C++软件开发面试题总结

面试题有难有易,不能因为容易,我们就轻视,更不能因为难,我们就放弃。我们面对高薪就业的态度永远不变,那就是坚持、坚持、再坚持。出现问题,找原因;遇到困难,想办法。我们一直坚信只有在坚持中才能看到希望,而不是看到希望才去坚持。人生没有如果,只有结果和后果。既然选择了,就不后悔。年轻就是资本,年轻就要吃苦,就要历练。就要学会在坚持中成长。如此感慨,至深的心得体会,绝对的经验之谈。 1、 Static有什么用途?...

C++primer第9,10章总结【代码】【图】

目录1.使用emplace操作2.泛型算法2.1.涉及的算法 1.使用emplace操作 emplace实际上是传入参数调用构造函数,和拷贝有本质区别。2.泛型算法 2.1.涉及的算法 find() accumulate() fill() fill_n() equal()

c++ Primer 第六章不熟悉知识点总结【图】

一、分离式编译 分离式编译允许我们把程序分割到几个文件中去,每个文件独立编译。-c和-o都是gcc编译器的可选参数。-c表示只编译(compile)源文件但不链接,会把.c或.cc的c源程序编译成目标文件,一般是.o文件。-o用于指定输出(out)文件名。不用-o的话,一般会在当前文件夹下生成默认的a.out文件作为可执行程序。

华为C++开发工程师面试总结整理,面试问题你能答上几个?含答案【图】

原文链接:https://www.jianshu.com/p/96b6a1533920前言: 虽然全世界每个月都可能会出现新的语言,但从TIOBE世界编程语言排行榜的数据来看,从2009年到现在,C/C++一直都在前3甲中。不论历史的车轮如何滚滚向前,学好C/C++永远不会落后。 面试官问的面试题: 一面: 1.先自我介绍; 2.把自己简历上的项目描述一下,然后选一个你认为最主要的项目来说,以及项目遇到什么问题,用什么方法解决的;3.Nagle算法和tcp的拥塞控制。 4.项...