
C++
自由如风呼呼呼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
三个故事带你快速理解C、C++、C#的区别!
案例一:任务:把大象放到冰箱里。C:C语言是一个极其高冷的人,因此回答都是冷冷的:我:你好C语言,我想把大象放到冰箱里,帮我做好不好?C:好我:那我们要怎么做呢?C:猜我:额。。。是不是应该先创造一只大象?C:是我:怎么创造呢?C:猜我只好去翻了一下文档,哦,malloc一块内存啊。我:好的,我用malloc,申请一块空间放大象好...原创 2019-06-23 20:05:33 · 38707 阅读 · 18 评论 -
为何世人对C+语言存在误解?C语言和C+太难?没前途?谬论!
因为有些对C++并不了解,所以就简要介绍一下。很多人对C++语言都存在误解,以为C++就是C语言的扩展,包括我自己,最开始学习C++时也是这么认为的,一是因为名字太像了,然后C++面向过程部分,基本上如出一辙,各种思想基本一致,也难怪初学者会这么想。然后后面多了面向对象部分以及一些其他高级的内容,所以就理所当然的认为是C语言的扩充,直到深入学习后,也看到了大师们的看法,结合自己的思考,才真的体会到...原创 2019-06-23 20:10:12 · 304 阅读 · 0 评论 -
直通面试:十分钟了解Redis的内存管理
大三那年,我面试过阿里提前批的实习生内推。二面的时候面试官问到自定义内存管理函数、以及如何处理8字节对齐等问题。当时语塞,挂掉了面试。在那过后的一个月,因缘际会我开始阅读Redis源码,当读到zmalloc.c时,哑然一笑,这可能正是面试官想要的答案,但逝去的面试再也回不来。当时年少,才疏学浅。而本文的原文初版也是写于那年(2015年),所以源码基于Redis 3.x。目录源码在...原创 2019-07-07 19:41:05 · 560 阅读 · 0 评论 -
C++实训--快速排序
#include<iostream>#include<algorithm>using namespace std;struct student { int sno; char name[20];};//qsort比较器int com(const void *a, const void *b)//qsort基本比较器{//void指针必须...原创 2019-07-07 19:45:33 · 333 阅读 · 0 评论 -
C++实训--栈及其应用
#include<iostream>#include<string>using namespace std;struct student{ int sno; string name;};typedef struct stack //栈的数据结构{ student *mat;//学生结构体数组 int top; in...原创 2019-07-07 19:46:55 · 228 阅读 · 0 评论 -
Vscode Linux下opencv及多线程socket(3)--Apple的学习笔记
一,本周做了变更(版本变更为0.3)1. HMI图片显示添加ROI区域显示张数及叠加特质logo。2. Server端切换到linux系统上。3. recv存阻塞修改设计为select IO复用的异步形式,实现了断线也能重连的功能。4. 对client测试code的重连函数中connect函数也使用非阻塞,加快重连速度。二,后续更新版本说明:之前的2.4/2.5算完成了...原创 2019-07-07 19:51:46 · 476 阅读 · 0 评论 -
跨平台 C++ 纯socket 访问webapi json
webapi.h#pragma once#include <string>#include <list>#include <map>class webapi{ class urlitem { public: urlitem() { } //std::string url; ...原创 2019-07-07 19:53:37 · 3278 阅读 · 0 评论 -
数据结构实验:单向链表
实验内容:1.随机产生或键盘输入一组元素(不少于10个元素),建立一个带头结点的单链表。2.把单链表中的元素逆置(不允许申请新的结点空间)。3.删除单链表中所有的偶数元素结点。4.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,利用该函数建立一个非递减有序单链表。5.利用算法4建立两个非递减有序单链表,然后合并成一个非递增链表。6.把算法1建立的链表分解成两个链表,其中一...原创 2019-07-07 19:55:33 · 1603 阅读 · 0 评论 -
如何学好 Linux、C++,并搞定 BAT 面试
简介本科的时候对 Linux 特别感兴趣,心中向往成为一名运维工程师,就开始没日没夜的看相关的书籍,到了大约 2013 年前后的时候发现 DevOps 开始流行起来了,就开始学习 Python 希望成为一名 DevOps 工程师。后来出去实习发现从事运维相关的工作并不是我的追求,苦于在合肥这样的城市真的很难找到一份专职做 DevOps 的地方(当时在科大讯飞的时候,做的就是纯运维的工作,该...原创 2019-07-02 15:25:22 · 668 阅读 · 0 评论 -
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!
12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:image答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而不检查它所复制的缓2.strcpy()函数问:下面是一个简单的密码保护功能,你能在不知道密码的情况下将其破解吗?答...原创 2019-07-02 15:33:57 · 756 阅读 · 0 评论 -
毫无编程基础的小白准备学习C语言,用VC6还是VS2015?
地方就在不久之前,无论是VC6还是VS2015都不适合学习C语言,因为两者对C根本没有好好支持,都是针对C++的IDE。然而最近VS2015 Update 1新增了用clang作为前端的选项,它对C99有良好的支持,再加上VS方便的编辑调试体验,你终于可以享受了。新建项目后,打开项目属性,然后在toolset中选取clang即可。补充一下具体操作,首先你需要安装Visual Studio w...原创 2019-07-02 15:37:24 · 2180 阅读 · 0 评论 -
C 与 C++ 的真正区别在哪里?
C++ 几乎是 C 的超集,只有少量功能 C++ 不支持。C++ 多出来的东西太多,很难列举,我截 cppreference 的图直观比较一下吧。C languageC++ language可以看到,C++ 比 C 多了 classes、templates、exceptions 这些部分,而每个部分也有很多新增的东西。这还只是语言部分,还未谈及标准库。C 有 29 个标准库头文...原创 2019-07-02 15:50:04 · 5093 阅读 · 0 评论 -
C++ 后台开发面试时一般考察什么?
来源:知乎今年刚找完工作的应届生来答一发,校招主要考察基础和思维,主要涉及C++语言基础,数据结构与算法,TCP/IP协议,网络编程,Linux。虽然面试技巧和心态也很重要,但这里只有24K纯技术干货。点赞后,收藏吧!C和C++语言基础参考书籍:《C++ primer》,《effective C++》,《STL源码解析》,《深度搜索C++对象模型》extern关键字作用...原创 2019-07-02 15:52:29 · 427 阅读 · 0 评论 -
C/C+是什么,能用来做什么?
1、从C到C++计算机诞生初期,用机器语言或汇编语言编写程序;第一种高级语言FORTRAN诞生于1954年;BASIC语言(1964)是由FORTRAN语言的简化而成的是为初学者设计的小型高级语言;C语言是1972年由美国贝尔实验室的 D.M.Ritchie 研制成功的。它是为计算机专业人员设计的;大多数系统软件和许多应用软件都是用C语言编写的。随着软件规模的增大,用C语言...原创 2019-06-24 17:07:12 · 25292 阅读 · 0 评论 -
C++代码书写规范——给新手程序员的一些建议
代码就是程序员的面子,无论是在工作中在电脑上写程序代码还是在面试时在纸上写演示代码我们都希望写出整洁,优雅的代码。特别在工作中当我们碰到需要维护别人的代码,或者是多人参与一个项目大家一起写代码的时候,如果碰到一些丑陋的代码,我们还要看懂并且修改它的时候,那种难受,肯定会让我们回想起多年以前自己还是新手程序员的时候,写下的那些丑陋的代码,并且深深内疚于将它们留给了我们的后继者,不知道他们和它们是否...转载 2019-07-03 16:02:05 · 783 阅读 · 0 评论 -
最全面的C/C++编码规范总结(转载)
对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include等等。下面是一些广为采用的编码规范:GNU Coding Standards Guidelines for the Use of the...转载 2019-07-03 16:04:54 · 769 阅读 · 0 评论 -
C++变量
变量赋值——————————————————————————————————————变量可以在声明的时候就赋值,也可以在需要的时候再进行赋值。变量值也可以根据需要进行修改。例如:int a; int b = 42;a = 10;b = 3;我们在声明变量a的时候,并没有对a进行赋值,但是我们对变量b进行了赋值操作,然后,在需要使用的时候,对a进行了赋值操作,并且修改...转载 2019-07-03 16:06:38 · 233 阅读 · 0 评论 -
C&C++——C函数与C++函数相互调用问题
C C++相互调用在项目中融合C和C++有时是不可避免的,在调用对方的功能函数的时候,或许会出现这样那样的问题,但只要我的C代码和我的C++代码分别都能成功编译,那其他就不是问题。近来在主程序是C语言,而调用C++功能函数的时候,C++的*.h头文件都能找到,功能函数也都定义了,最重要的是,单独编译C++的时候,完全没有问题,但当用主程序的C调用C++的功能函数时,总是提示该函数未定义(und...原创 2019-07-03 16:15:42 · 326 阅读 · 0 评论 -
C++知识分享:C++项目中的extern "C" {}
引言在用C++的项目源码中,经常会不可避免的会看到下面的代码:#ifdef __cplusplusextern "C" {#endif/*...*/#ifdef __cplusplus}#endif它到底有什么用呢,你知道吗?而且这样的问题经常会出现在面试or笔试中。下面我就从以下几个方面来介绍它:1、#ifdef _cplusplus/#endif _cp...原创 2019-07-03 16:17:17 · 246 阅读 · 0 评论 -
世人觉得C语言和C++太难?没前途?过来人告诉你真相
因为有些伙伴对C++并不了解,所以这里就简要介绍一下。很多人对C++语言都存在误解,以为C++就是C语言的扩展,包括我自己,最开始学习C++时也是这么认为的,一是因为名字太像了,然后C++面向过程部分,基本上如出一辙,各种思想基本一致,也难怪初学者会这么想。然后后面多了面向对象部分以及一些其他高级的内容,所以就理所当然的认为是C语言的扩充,后来直到深入学习后,也看到了大师们的看法,结合自己...原创 2019-07-09 15:21:52 · 14685 阅读 · 5 评论 -
天啦,大学为什么要学习C语言?
那么如题,大学为什么要学习C语言? 为什么要选择一门诞生了将近半个世纪的语言?对于理工科学生来说,这个答案可能很简单,因为这是一门必修课。而对于程序员来说选择一门编程语言,在某种程度上,对职业生涯的发展会产生重大的影响,所以必须慎之又慎。所以,下面我将做一轮理性的分析,且听我细细道来!C语言C 语言是由美国 AT&T 贝尔实验室的研究员 Dennis ...原创 2019-07-09 15:49:11 · 823 阅读 · 0 评论 -
一道容易上当的C语言题目,你要不要试一试?
各位伙伴们,关于变量的作用域问题大家在学习C语言的过程中会经常遇到并且用到,而且这方面出错的概率比较高。今天我们就通过一道不错的题目来说一说,这道题里面陷阱不少,稍不留神就容易出错,请看题:C语言题目很简单,就问会输出什么?这道题乍一看不难,但有不少迷惑你的点,比如变量被反复声明赋值,用变量给自己本身赋值,变量声明不赋值采用默认值等等。其实万变不离其宗,就是全局、局部变...原创 2019-07-09 15:59:15 · 464 阅读 · 1 评论 -
某著名公司的C语言面试题,看看你是否能搞定?
今天带给大家的是一道中国台湾某著名cpu生产公司的面试题。储备知识要看懂今天的代码需要一点储备知识。// C语言的符号意义~ 按位取反 例如 ~(111b)= (000b)>> 按位右移 例如 (0011b)>>2 = (0000b)~、>>、+ 的优先级排序 ~ 大于 + 大于 >> 优先级越高的运算符越先执行题目及分析...原创 2019-07-09 16:08:53 · 1409 阅读 · 0 评论 -
每个开发者都应该了解的一些 C++ 特性
C++ 是一种强大的编程语言,但也因为其复杂性一直让用户望而却步。后来,C++ 决定做出改变,然后发展至今,成了编程社区最受欢迎的语言之一。C++ 有一些新特性非常好用,本文对此进行了介绍,比如 auto、lambda、constexpr、tuple、智能指针等。作为一门编程语言,C++已经进化了很多。当然,这些改变不是一夜之间发生的。曾几何时,C++缺乏活力,导致人们不太喜欢这...原创 2019-06-28 17:16:42 · 96 阅读 · 0 评论 -
为什么C/C++程序员都要阅读Redis源码之:Redis学习事件驱动设计
0. 为什么我说C/C++程序员都要阅读Redis源码主要原因就是『简洁』。如果你用源码编译过Redis,你会发现十分轻快,一步到位。其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你源码编译安装过Nginx/Grpc/Thrift/Boost等开源产品,你会发现有很多依赖,而依赖本身又有依赖,十分痛苦。通常半天一天就耗进去了。由衷地羡慕 npm/maven/pip/compos...原创 2019-06-28 17:32:29 · 364 阅读 · 0 评论 -
毫无编程基础的小白准备学习C语言,用VC6还是VS2015?
作者:装配脑袋链接:https://www.zhihu.com/question/40929777/answer/90029159来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。地方就在不久之前,无论是VC6还是VS2015都不适合学习C语言,因为两者对C根本没有好好支持,都是针对C++的IDE。然而最近VS2015 Update 1新增了用clang作...原创 2019-06-28 17:36:21 · 2022 阅读 · 0 评论 -
学习 C++ 到底有什么好处?
转自知乎学C++本身是教不会你编程的。你需要主动的、不断的扩展自己的知识领域。写一个学生管理系统是一个很好的开端;但接下来,你还需要学习更多。举例来说,“图形界面”究竟是怎么一回事呢?我们知道,计算机屏幕实际上是一个“色点”组成的“点阵”;高清屏1920X1080@24bit,意思就是:它一共有1080行,每行1920个点;每个点又可表示2^24种不同颜色(以RGB格式表示;其中R...转载 2019-06-28 17:46:40 · 5791 阅读 · 0 评论 -
C&C++——C函数与C++函数相互调用问题
C C++相互调用在项目中融合C和C++有时是不可避免的,在调用对方的功能函数的时候,或许会出现这样那样的问题,但只要我的C代码和我的C++代码分别都能成功编译,那其他就不是问题。近来在主程序是C语言,而调用C++功能函数的时候,C++的*.h头文件都能找到,功能函数也都定义了,最重要的是,单独编译C++的时候,完全没有问题,但当用主程序的C调用C++的功能函数时,总是提示该函数未定义(und...原创 2019-07-04 20:02:46 · 1179 阅读 · 0 评论 -
月薪30K的程序员整理的C语言的学习笔记,值得学习!
C语言是面向过程的,而C++是面向对象的C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大...原创 2019-07-04 20:04:39 · 228 阅读 · 0 评论 -
c# 调用 C++ dll 传入传出 字符串
C#调用 非托管C++ dll 传入Stringbuilder、ref string 、 ref char 等都报错,如mscorlib.dll 异常、其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏 等等,后来发现是dll 生成后一直没更新,放错位置了。。。 = =||不过也学习了一下编译器及类型相关的知识,整理如下:1、 cl.exe /Gz 参数指定编译为 __std...原创 2019-07-04 20:07:07 · 1644 阅读 · 1 评论 -
程序员必备的网站收藏
优质资源:<p>知乎周刊:http://zhuanlan.zhihu.com/Weekly码农周刊:http://weekly.manong.io/Pycoder's Weekly:http://pycoders.com/archive/Hacker News:https://news.ycombinator.com/Startup News:http://ne...原创 2019-07-04 20:10:53 · 413 阅读 · 0 评论 -
程序员教你如何追女生
1.广泛涉猎恋爱技能,进行自学交给你一个项目,遇到不会的开发工具怎么办?学啊!我们程序员拥有超强的自学能力。星座,塔罗牌,看手相,大姨妈陪护,这些能引起女生共同话题的知识不要以为没有用,你就当学习一门新的编程语言嘛!一点都不难对不对?要充分利用知识管理,我们不会谈恋爱,但是我们可以收集资源自学啊!我们可以看书啊,我们可以听罗辑思维啊!知识就是力量!2、需求分析要先行,谁是老...原创 2019-07-04 20:12:39 · 605 阅读 · 0 评论 -
没有学不会的C++:public, protected 和 private 关键字
C++ 中的继承有 3 种方式,分别是 public、protected 和 private,这三种方式分别对应不同的父类成员的访问权限,总结如下:public、protected 和 private 子类都不能访问父类的 private 成员 public 作用域下,父类的 public 成员会被继承为 public,父类的 protected 成员会被继承为 protected pro...原创 2019-07-10 21:06:06 · 318 阅读 · 0 评论 -
C++程序员光速入门C#(一):总览、数据类型、运算符
Jacob的C++程序员光速入门C#系列:C++程序员光速入门C#(一):总览、数据类型、运算符C++程序员光速入门C#(二):流程控制、函数、类之前看了一个很有价值的系列博客,博主以C++的视角来入门C#,个人感觉非常的棒。虽然是很久以前写的了,很多新特性都没有涉及,但作为入门参考学习还是很有价值的。这里我把它重新排版修订一下,作为读书笔记,也希望能帮助到读者。原博客地址: C++程序员...原创 2019-07-10 21:07:37 · 722 阅读 · 0 评论 -
C++类的封装及相关学习(一)
const相关内容const与指针类型的表示const int *p = NULL;int const *p = NULL;//这两个是完全等价的const int*const p = NULL;int const*const p = NULL;//这两个是完全等价的其中可用以下等式来描述:int x = 3; const int *p = &x;p = &...原创 2019-07-10 21:09:01 · 322 阅读 · 0 评论 -
现代 C++ 救不了程序员
原文出处:本文来源于网络作者:CPP开发者经常有程序员为C++辩护说:“只要你不使用任何从C继承过来的功能,C++就是安全的”!但事实非如此。根据本文作者在大型C++项目上(遵从现代的惯用做法)的经验来看,C++提供的类型完全不能阻止漏洞的泛滥。本文中就会给出一些完全根据现代C++的惯用做法编写的代码,你会发现这些代码仍然会引发漏洞。以下为译文:我经常批评内存不安全的语言,...转载 2019-07-10 21:10:56 · 269 阅读 · 0 评论 -
C语言基础,结构体的使用
我们都是知道,一个数组,它只能储存相同类型的一组数据,但是在生活中,这明显是不行的,因为在软件中有个高级词汇叫做抽象,当我们对一个真实存在的事物进行抽象时,那么我们会将这个事物的特征等作为对象的属性,所以当一个集合只能储存一个数据类型的时候,明显不能完整的储存数据,例如:我们需要储存一个人的信息,这个人有年龄、姓名、生日等,这其中需要的数据类型就有int ,string等类型,怎么办呢,我们这时就...原创 2019-07-10 21:12:22 · 284 阅读 · 0 评论 -
再见了,Linux 的魔法时代!
波士顿时间 2019 年 5 月 8 日,红帽峰会进入第二天。今天在会场跟一些红帽的新老朋友们聊天,聊到工程师们的两个特点:工程师们很可爱。开这么大一个会议,只要给他们一些五颜六色的贴纸和 T-shirt 收集他们就很开心了。(很像是在用很便宜的玩具打发小朋友们有木有?)某工程师在 Twitter 上晒的历代 RHEL 版本收藏(这个收藏就不是那么便宜了)工程师们很纯粹。他们...转载 2019-06-30 20:04:39 · 596 阅读 · 0 评论 -
学C++是怎样一种体验?
第一阶段:你学会了 C with Classes,然后把各种东西都包装成了 class;第二阶段:为了实现多态,你学会了继承、虚函数、多继承和虚继承,然后你用这些技术改写了一些代码,实现了代码重用。你觉得很开心,感觉自己减少了代码量,提高了工作效率;第三阶段:你学会了用抽象类作为接口,发现以前的继承关系太复杂,用接口更清晰,于是把代码都改成了单继承+接口。你觉得很开心,觉得自己设计了很好的...原创 2019-06-30 20:16:49 · 175 阅读 · 0 评论 -
C++面试常见问题
1.在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern “C”?答:首先,extern是C/C++语言中表明函数和全局变量作用范围的关键字,该关键字告诉编译器,其声明的函数和变量可以在本模块或其它模块中使用。通常,在模块的头文件中对本模块提供给其它模块引用的函数和全局变量以关键字extern声明。extern "C"是连接申明(linkagedeclaration),被ex...原创 2019-06-30 20:21:18 · 1444 阅读 · 0 评论