C++
自由如风呼呼呼
这个作者很懒,什么都没留下…
展开
-
求1!+2!+3!+...+20!的和
题目:求1!+2!+3!+...+20!的和阶乘定义:n! = 1 * 2 * 3 * … * n难度简单参考答案核心是阶乘的计算。20!的阶乘的位数的估算非常重要,导致在定义阶乘函数的时候返回值采用的整型宽度需要仔细思量。#include <stdio.h>/*题目: 求和 1!+2!+ ... + 20!*/long long factorial(int n){ long long f = 1; for (int i = 1; i <原创 2020-07-02 16:46:36 · 7959 阅读 · 0 评论 -
周一划水必备:程序员专属GIF动图批发
这才刚周一,漫长的搬砖周正式开始,压力再大,也不要忘了给自己增加点欢乐,先划个水热身一下嘛。经过n轮面试,终于进入了大厂入职新公司第一周的感受小公司搞中台互联网寒冬,出去面试了一圈之后...前公司上市了,我好想回去啊程序员读别人写的代码的时候饭一点点吃,技术一点点学,你着啥急计算机专业毕业生,准备找工作了程序员改bug,改错了地方正在...原创 2020-07-02 10:22:42 · 1296 阅读 · 0 评论 -
飞机一般是什么操作系统?
之前波音737MAX空难失事事件牵动人心,让人对航空出行又平添了一份不信任,根据最新消息显示,美国联邦航空局对737 MAX机型的大量评估授权给波音公司自身进行,安全评估存在严重缺陷。也传出了波音737 MAX客机的培训都是通过平板电脑软件进行这样让人毛骨悚然的内幕。最终的结果出来之前我们很好奇,也恰巧在V2EX 看到了有人发问:飞机上用的是什么操作系统?根据 V友转自百度知道的答案:航空软件并不神秘,从计算机架构上来说,同普通的计算机系统并无太大区别,都是由处理器,总线,I/O设备..原创 2020-06-28 10:19:18 · 2204 阅读 · 0 评论 -
自学编程之前,你需要知道这些
你是否适合自学编程自学编程会是一个漫长而艰辛的过程,在你信心满满地准备开始之前,不妨先问问自己下面这几个问题,来判断你是否真的适合自学编程呢?你是一个逻辑和抽象思维能力比较强的人吗? 你是否愿意不断地去学习那些新的东西,而在大多数时间内你都需要去自学。 当你遇到一些问题和困难的时候,你是否有足够的耐心和毅力去独自解决这些问题? 你是否有很强的好奇心去研究和探索那些未知的领域?如果上面这四个问题中,至少有两到三个你的答案是Yes的话,那相信你是适合自学编程的,相反,你可能需要考虑选择更适合自己原创 2020-06-09 10:34:54 · 945 阅读 · 0 评论 -
三天的时间,如何学会C++,原来只要四个步骤
刚刚开始学编程,有什么办法可以快速掌握一门语言?还真有!而且只需要3天的时间,就可以精通C++!你需要完成这几步:和你的朋友立个flag:我要3天学会C++,赌一辆玛莎拉蒂!花上10年的功夫,精通C++;研究生物化学、分子生物学、遗传学,利用这些知识,研制出返老还童药水;回到在第3天学习C++的时候,并干掉那一天的你,并替代它;这时候,你不仅学会了C++,而且还赢得了一辆马萨拉蒂。这是一个套路这是一个套路性标题,这种标题的套路是:一个让人不可思议的,极短的时间,学会.原创 2020-06-06 15:35:22 · 1661 阅读 · 0 评论 -
SpaceX十年磨一剑
文章目录剑客马斯克低潮2018高光2020第一代龙飞船第二代龙飞船目标:星辰大海复用/敏捷:用写代码的方式造火箭与飞船代码级的复用模块级的复用项目级的复用可重复使用的火箭/飞船敏捷开发一枚火箭/飞船SpaceX 里的软件SpaceX 软件工程师团队在干什么SpaceX 软件工程师的目标SpaceX 软件工程师的技术栈SpaceX 有 4 个独立的软件团队飞行软件团队干什么航电测试团队干什么飞行软件和航电测试团队的技术栈龙飞船和猎鹰9号用的是 Linux主力编程语言C++SpaceX 工程师的推荐学习路径入门原创 2020-06-04 15:55:58 · 1119 阅读 · 0 评论 -
零基础学C++进腾讯,这份GitHub热榜的「从入门到高薪」请你收下
零基础想学C++进大厂?这件事其实没那么难。一位国内在读研究生的C++学习指南本月初登上了Github热榜,目前已经收割2000星。避免啃书、注重实战、效率与节奏并重,这位研一才接触C++的同学已经拿到了鹅厂后台开发的offer。除了教程,还有各大厂面试试题总结,面试经验传授,以及内推、招聘情报等珍贵资料。无论你是编程入门还是求职面试,这份指南不容错过。最完整的C++入门进阶资料库作者「光城」研一才开始学习C++,在Github上建立「C++那些事」只是作为自己的学习笔记。但原创 2020-06-04 11:12:36 · 498 阅读 · 0 评论 -
学完了C++语法之后该学什么??(数据结构与算法篇)
数据结构与算法数据结构与算法,我就不想多说了,重要性不用说。应届生秋招和春招最大的优势估计就是数据结构与算法的掌握了。上面三门课程的学习,基本也都是离不开数据结构的,对于如何学习数据结构与算法,我觉得可以在写一篇文章了,所以数据结构与算法的学习,我这里不写了。论面试,我觉得操作系统+计算机网络+数据库 + 数据结构算法这四大块是问的最多的,所以我写的非常详细。这几篇文章可以在我主业主页里查看。总结暂时先介绍这么多吧,说实话,学了这些,不单单是多学了一门知识,更重要的是可以提升你的罗辑思...原创 2020-06-03 11:01:33 · 2269 阅读 · 0 评论 -
学完了C++语法之后该学什么??(数据库篇)
数据库与中间件主要是MySQL、MongDB、Redis、Nginx等;在大学的课程里,一般都会开设一门数据库的课程,不过这门数据库是没有针对某一种数据库语言的(例如 MySQL、SQlite)。不过我这里只讲 MySQL,因为最频繁。数据库不在多。把MySQL学好,还是特别重要的,千万不能停留在会用的层面上,而是应该要了解一下原理,特别是对于要面试的同学,会问挺多原理,不一定要写得很号,但是需要知道一些原理,像腾讯、阿里面试时,面得最多的就是MySQL。下面就说说一些知识以及推荐的学习资料吧。原创 2020-06-01 11:44:37 · 2205 阅读 · 0 评论 -
学完了C++语法之后该学什么??(操作系统篇)
操作系统操作系统也是一门非常重要的知识,在面试中也是问的非常多。对于操作系统,要学的也太多太多了,例如:啥是进程,啥是线程,他们的本质区别?我们运行一个程序时,数据放在哪里?代码放在哪里?咋就还要分堆和栈?线程切换时是上下文是啥意思?虚拟地址是什么鬼东西?线程需要那么多种状态干啥子?什么是乐观锁、悲观锁?死锁是怎么造成的?解决死锁的策略有哪些?等等对于操作系统,我总结了下面一些比较核心,面试相对容易被考到的。1、进程的通信方式2、进程地址空间分段3、...原创 2020-05-28 11:24:28 · 1113 阅读 · 0 评论 -
学完了C++语法之后该学什么??(网络基础篇)
在学完了C/C++语法之后,我相信很多朋友都会比较迷茫,到底应该学什么?其实总结起来无非就是:1、网络编程;2、操作系统;3、数据库;4、数据结构与基础算法;掌握这些基础知识,就像我们的内功,如果在未来想要走的更远,这些内功是必须要修炼的。框架千变万化,而这些通用的底层知识,却是几乎不变的,了解了这些知识,可以帮助我们更快着学习一门知识,更加懂得计算机的运行机制。当然,在面试中也经常会被问到,特别是对于应届生,也有朋友经常问的计算机基础知识究竟是指啥?学习顺序?推荐书籍?一、网络编程在我们用的程序中原创 2020-05-26 17:34:16 · 4768 阅读 · 0 评论 -
C/C++堆栈指引
前言 我们经常会讨论这样的问题:什么时候数据存储在堆栈(Stack)中,什么时候数据存储在堆(Heap)中。我们知道,局部变量是存储在堆栈中的;debug时,查看堆栈可以知道函数的调用顺序;函数调用时传递参数,事实上是把参数压入堆栈,听起来,堆栈象一个大杂烩。那么,堆栈(Stack)到底是如何工作的呢? 本文将详解C/C++堆栈的工作机制。阅读时请注意以下几点: 1)本文讨论的编译环境是 Visual C/C++,由于高级语言的堆栈工作机制大致相同,因此对其他编译环境或高级语言如C#也有...原创 2020-05-26 11:35:56 · 419 阅读 · 0 评论 -
c++病毒之bingo撩妹记(初级桌面移动)
马上要五一放假了,Bingo灵机一动,想起上周和MQ一起认识的时候,决定写一个c++小病毒,逗她开心一下……病毒肯定要改个名字,哈哈哈哈!!!!不废话,先贴代码:工程名:当然要先改个名字啦:不然不可能会点开的!!!效果大概就是这样子:什么???难道她不知道启动任务管理器吗?哼哼哼哼...原创 2020-05-25 14:12:41 · 452 阅读 · 0 评论 -
为什么说C++太复杂?复杂的必要性是为什么?
1 常见观点可以轻易的找出许多文献说明C++太复杂了,例如学习C++的书籍的厚度。这样以至于C++的设计者Bjarne都曾怀疑具有类的C是不是已经太庞大了。因为,总有大量对语言的新特性的要求:对如何利用现有特性完成某些任务没有足够的了解 天生喜欢评价主流编程语言的人 许多使用者遇到了实际的问题,确实需要语言本身提供支持来解决这些问题(大部分)2 反驳观点但是C++只在被孤立看待的时候,才会觉得复杂性。设计任何一门语言都是有背景的。C++面向的是这样的特定用户:应对各种复杂问原创 2020-05-12 11:08:56 · 625 阅读 · 0 评论 -
说说 C 语言编程利器 CLion
CLion 是一款专为开发 C 及 C++ 所设计的跨平台 IDE。 它是以 IntelliJ 为基础设计的,包含了许多智能功能来提高开发人员的生产力,从而提升工作效率 。1 安装下载后,点击 CLion-xxx.exe,进入安装界面:点击 Next,选择安装路径:点击 Next,选择是否创建桌面快捷方式以及关联文件后缀:再次点击 Next,就安装完成啦:2...原创 2019-06-20 17:40:06 · 1497 阅读 · 0 评论 -
浅谈C/C++混合编程
****如只想知道怎样就能实现C/C++混合编程而不深究为什么的话, 可以一拉到底直接看总结.****首先, 在介绍C/C++混合编程之前, 先思考几个问题1. C/C++混合编程是什么?2. C/C++混合编程有什么用?3. C/C++混合编程应该怎么实现?下面, 简单讲讲我对C/C++混合编程的理解 :1. C/C++混合编程是什么?就像问题本身所说, C/C...原创 2019-06-20 17:42:23 · 453 阅读 · 0 评论 -
C++ lambda表达式与函数对象
C++ lambda表达式与函数对象lambda表达式是C++11中引入的一项新技术,利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象,并且使代码更可读。但是从本质上来讲,lambda表达式只是一种语法糖,因为所有其能完成的工作都可以用其它稍微复杂的代码来实现。但是它简便的语法却给C++带来了深远的影响。如果从广义上说,lamdba表达式产生的是函数对象。在类中,可以...原创 2019-06-20 17:44:45 · 1155 阅读 · 0 评论 -
c++指针总结
c++指针总结怎么判断数据类型int p; 一个普通的整型类型int *p;先看 p 和 * 结合,说明 p 是一个指针,然后再与 int 结合,说明指针指向的内容是整型类型。所以 p 是一个指向整型类型的指针。int p[3];先看 p 与 [] 结合,说明 p 是一个数组,然后再与 int 结合,说明数组中元素的类型是整型。所以 p 是一个由整型类型元素...原创 2019-06-21 14:51:19 · 221 阅读 · 0 评论 -
C++类型推断
C++类型推断对于静态语言来说,你一般要明确告诉编译器变量或者表达式的类型。但是庆幸地是,现在C++已经引入了自动类型推断:编译器可以自动推断出类型。在C++11之前,类型推断只是用在模板上。而C++11通过引入两个关键字auto和decltype扩展了类型推断的应用。C++14更进一步扩展了auto和decltype的应用范围。明显地,类型推断可以减少很多无必要的工作。但是高兴之余,你仍然有...原创 2019-06-21 14:54:59 · 889 阅读 · 0 评论 -
[cpp deep dive]引用与指针、引用传递与值传递
`###### stage_0 基本指针 - 变量。存储的是一个地址引用是某个变量的别名。引用和原变量在内存的同一个区域。 <-----这是不是让人想起了什么,软链接硬链接区别是啥? ---硬链接也是别名啊亲那引用本身有占据空间吗? 这个我认为应该是要看编译器的,标准里并没有说要如何实现引用??,比如我可能自己实现一个符合标准的编译器,其中的引用我就给他编译成一个指针,那这样你说...转载 2019-06-21 15:01:32 · 332 阅读 · 0 评论 -
C++的new和delete详解
new和delete的内部实现C++中如果要在堆内存中创建和销毁对象需要借助关键字new和delete来完成。比如下面的代码class CA{ public: CA():m_a(0){} CA(int a):m_a(a){} virtual void foo(){ cout<<m_a<<endl;} ...原创 2019-06-21 15:03:54 · 18280 阅读 · 0 评论 -
物联网开发必备C语言技巧
在物联网开发中中,C语言基础性错误的不断发生,会导致某些缺陷的产生并造成维护方面的困扰。为竭力避免这些C编程陷阱,这里有10个C语言技巧供工程师参考。1:不要使用“GOTO”语句二十几年前,当计算机编程尚处于起步阶段时,程序流程是由“GOTO”语句来控制。该类语句允许程序员对当前代码行断行,而直接进入另一个不同的代码段。列表1为简单的示例。列表1 使用GOTO语句编程语言终...原创 2019-06-21 15:06:24 · 1891 阅读 · 0 评论 -
c++多态实现的机制
什么是c++的多态?多态的意思是,当有基类和派生类的时候,在基类的函数前加上virtual关键字,在派生类中重写该函数,运行时将会根据对象的动态类型来调用相应的函数。如果对象的动态类型是派生类,就调用派生类的函数;如果对象类型是基类,就调用基类的函数。c++多态的实现:实现依靠的是虚函数和动态绑定机制;虚函数背后的原理那么当我们将基类的一个函数声明为virtual时,在背后发生...原创 2019-06-21 15:10:03 · 2708 阅读 · 0 评论 -
C++ 引用
引用参数的传递本质上是一次赋值的过程,赋值就是对内存进行拷贝。所谓内存拷贝,是指将一块内存上的数据复制到另一块内存上。对于像int、char等基本类型的数据,它们占用的内存往往只有几个字节,对它们进行内存拷贝非常快速。而数组、结构体、对象是一系列数据的集合,数据的数量没有限制,可能很少,也可能成千上万,对它们进行频繁的内存拷贝可能会消耗很多时间,拖慢程序的执行效率。所以我们在传递参数...原创 2019-06-21 15:17:46 · 145 阅读 · 0 评论 -
C++内存模型
每个程序运行起来以后,它将拥有自己独立的虚拟地址空间。这个虚拟地址空间的大小与操作系统的位数有关系。例如32位硬件平台的虚拟地址空间的地址可以从02^32-1,即0x000000000xFFFFFFFF,总共4GB大小。在32位Windows操作系统中,高地址的2GB位内核空间,用户空间只有2GB,而32位Linux的内核空间只有1GB,用户空间有3GB大小。而64位操作系统,用户可用空...原创 2019-06-21 15:19:02 · 543 阅读 · 1 评论 -
浅谈C/C++混合编程
****如只想知道怎样就能实现C/C++混合编程而不深究为什么的话, 可以一拉到底直接看总结.****首先, 在介绍C/C++混合编程之前, 先思考几个问题1. C/C++混合编程是什么?2. C/C++混合编程有什么用?3. C/C++混合编程应该怎么实现?下面, 简单讲讲我对C/C++混合编程的理解 :1. C/C++混合编程是什么?就像问题本身所说, C/C+...原创 2019-06-25 14:01:59 · 243 阅读 · 0 评论 -
C++ 如何避免内存泄漏
前言近年来,讨论 C++ 的人越来越少了,一方面是由于像 Python,Go 等优秀的语言的流行,另一方面,大家也越来越明白一个道理,并不是所有的场景都必须使用 C++ 进行开发。Python 可以应付大部分对性能要求不高的场景,Go 可以应付大部分对并发要求较高的场景,而由于 C++ 的复杂性,只有在对性能极其苛刻的场景下,才会考虑使用。那么到底多苛刻算是苛刻呢?Go 自带内存管理,也就...原创 2019-06-25 14:10:57 · 4357 阅读 · 0 评论 -
C 语言和 C++、C# 的区别在什么地方?
来源:知乎其实吧,个人感觉就是:任务:把大象放到冰箱里。C:C语言是一个极其高冷的人,因此回答都是冷冷的:我:你好C语言,我想把大象放到冰箱里,帮我做好不好?C:好我:那我们要怎么做呢?C:猜我:额。。。是不是应该先创造一只大象?C:是我:怎么创造呢?C:猜我只好去翻了一下文档,哦,malloc一块内存啊。我:好的,我用malloc,申...转载 2019-06-25 14:15:10 · 9752 阅读 · 1 评论 -
Visual Studio Code 如何编写运行 C、C++ 程序?
作者:谭九鼎来源:知乎0. 前言本文面向初学者,但是不适合还在学写Hello World级别的初学者。阅读本文能在一定程度上了解程序编译的知识,以及使用VS Code的知识。本文大部分内容都可从VS Code官方文档:C++ programming with Visual Studio Code 以及各个扩展的文档中获得,并且他们还会进行更新(本文也进行过几次重大更新)。如果你想...转载 2019-06-25 14:18:52 · 37027 阅读 · 4 评论 -
怎么用C++写图形界面程序?
回想当年,我初学C语言的时候,也有这样的困惑:为啥我写的程序背景是黑不溜秋的,文字也是一行一行显示的,而别人写的程序都带着界面和按钮?这得从何说起呢?由于我们最常接触的就是Windows系统中各种带有窗体的程序,使得很多人误以为,这就是程序原本的样子……其实程序原本是没有界面的,就一堆代码在CPU里跑,之所以有界面,是因为人类自身的需要。人类发明了一些硬件设备,来展示程序的过程和结果,最常...原创 2019-06-25 14:24:17 · 45678 阅读 · 3 评论 -
那些关于程序员的段子
一、程序猿问科比:“你为什么这么成功? ”科比:“你知道洛杉矶凌晨四点是什么样子吗? ”程序猿:“知道,一般那个时候我还在写代码,怎么了?”科比:“额…….”二、女神:你能让这个论坛的人都吵起来,我今晚就跟你走。程序猿:PHP语言是最好的语言!论坛炸锅了,各种吵架。女神:服了你了,我们走吧,你想干啥都行。程序猿:今天不行,我一定要说服他们,PHP语言是最好的语言。三、我是一...原创 2019-06-25 15:05:06 · 7676 阅读 · 0 评论 -
C语言基础知识
•1 C语言程序的结构认识用一个简单的c程序例子,介绍c语言的基本构成、格式、以及良好的书写风格,使读者对c语言有个初步认识。例1 计算两个整数之和的c程序:#includemain(){int a,b,sum; /*定义变量a,b,sum为整型变量*/a=20; /*把整数20赋值给整型变量a*/b=15; /*把整数15赋值给整型变量b*/su...原创 2019-06-26 15:27:36 · 438 阅读 · 0 评论 -
C++参考的翻译或校对
C++的参考其实最需要翻译。因为C++为了填C继承过来的坑,标准库增加了很多用于替代的设施。而国内的教程更新缓慢,这份参考如果不翻译,我估计到了2020年也不会完全普及。以下是校对完成的类,希望大家继续参与:<memory> unique_ptr shared_ptr weak_ptr <chrono> duration <funct...原创 2019-06-26 15:36:59 · 142 阅读 · 0 评论 -
C++进阶-STL容器,你看我就够了
STL(标准模板库),是目前C++内置支持的library。它的底层利用了C++类模板和函数模板的机制,由三大部分组成:容器、算法和迭代器。目前STL有六大组件容器 container 算法 algorthm 迭代器 iterator 仿函数 function object 适配器 adaptor 空间配置器 allocator下面,我们会一一进行介绍。STL初探容器是...原创 2019-06-26 15:40:42 · 555 阅读 · 0 评论 -
【C++】几种类型的new介绍
现在的C++中,New有三种典型的使用方法,对应于下面三种格式。1.new : 普通的new操作,一旦内存分配失败,直接抛出一个异常,需要用catch来处理这种异常信息。2. new(nothrow) : 不抛出异常的new操作, 一旦内存分配失败,禁止抛出异常,而是返回一个NULL,可以通过判断指针是不是NULL来处理这种异常。3. placement new : 直接复用已经分配好...原创 2019-06-26 15:41:41 · 3039 阅读 · 0 评论 -
【C++】引用&详解
这篇文章只想谈谈,引用的特性,不介绍引用的使用。重点:引用&初始化的时候便于某一个变量绑定了,再此之后都是这个变量的别名,绑定关系不会改变。例子如下所示:1.引用&初始化的时候,必须要与另外一个变量建立绑定关系。2.一旦引用&与某一变量建立绑定关系,这个关系就不会再被改变,例如int&b = a;3.后面引用的=操作,都看做是对该引用值的...原创 2019-06-26 15:43:08 · 171 阅读 · 0 评论 -
C++从零实现深度神经网络系列
这是一个堪称简陋(随着时间推移,应该会变得更好)的练手性质的小项目,而且重复造轮子,目的是为了加深自己对于神经网络的理解,以及提升自己的调参技巧和编程能力。我是一边学习理论和编程技术,一边写程序,而且现在还没有完全完成,只能是一边写程序一边记录博客。之所以不叫BP神经网络而叫深度神经网络,因为我不打算把这个当成一个写完就可以扔掉的小程序,而是可以一直写下去的项目。BP只是最基础的,以后肯定不止于此...原创 2019-06-26 15:44:17 · 621 阅读 · 0 评论 -
C++ 网易面试题“让new操作符不分配内存,只调用构造函数”
问题c++中的new操作符 通常完成两个工作 分配内存及调用相应的构造函数。请问:1)如何让new操作符不分配内存,只调用构造函数?2)这样的用法有什么用?placement new的含义placement new可以实现不分配内存,只调用构造函数。void *operator new( size_t, void *p ) throw() { return p;...原创 2019-06-26 15:45:33 · 1211 阅读 · 0 评论 -
C/C++十大排序大总结
BubbleSort(冒泡排序)定义:在同一个数组中,从数组第一个数开始,相邻两个数进行比较,按照小左大右或者大右小左的顺序,依次循环遍历,进行排序!void BubbleSort(int *arr,int Length){ int i = 0; int j = 1; int sys = 0; for (i = 0; i < Length-1;...转载 2019-06-23 19:58:04 · 1464 阅读 · 0 评论 -
远离无效的996
今天下午看到一个视频,某创业公司的一位员工在镜头下缓缓倒下,据说是因为长期007身体扛不住,最终也没能抢救回来。这个视频没经过证实,不知道真假(希望这不是真的)。看了之后,我忍不住想和大家叨叨几句,说说自己对996的一些看法与建议。本文不是鸡汤、广告,全部是我亲身经历与感悟。01 能增值自己的996,才值得去奋斗还记得我刚毕业到上海的第一年,很幸运得到了一家国外知名度较高的外企工...转载 2019-06-23 19:59:35 · 205 阅读 · 0 评论