随笔分类 -  C/C++

摘要:枚举的定义 enum 枚举名{ 枚举元 素1,枚举元素2,枚举元素3...}; 使用枚举类型的好处 增加程序的可读性,我们都知道在计算机中所有信息都是用二进制来表示的,如果你用二进制来表示某件事务是非常不直观的,为了使程序更加直观我们引入枚举。 枚举的应用 1 /*红色、黄色、绿色、蓝色,黑色*/ 阅读全文
posted @ 2020-06-17 09:56 鲸小鱼- 阅读(628) 评论(0) 推荐(0) 编辑
摘要:结构体 在Java中,我们要表示一个复合的数据类型就会使用对象去封装。而C就有结构体。 结构体是C语言中自定义的数据类型,是一组变量的集合,有别于数组,数组仅限于同一种数据类型,而结构体可以是任何数据类型,包括数组。结构体里面的每一个变量或者数组都是结构体的成员。 下面来看看结构体的基本使用 14- 阅读全文
posted @ 2020-06-17 09:54 鲸小鱼- 阅读(740) 评论(0) 推荐(0) 编辑
摘要:#定义 每一个函数都占用一段内存单元,它们有一个起始地址,指向函数入口地址的指针称为函数指针。 #语法 指向函数的指针变量的一般定义形式为: 数据类型 (*指针变量名)(参数表); #说明 1) 函数指针的定义形式中的数据类型是指函数的返回值的类型。 2) 区分下面两个语句: int (*p)(in 阅读全文
posted @ 2020-06-16 20:10 鲸小鱼- 阅读(745) 评论(0) 推荐(0) 编辑
摘要:配置文件中经常用到ini文件,在VC中其函数分别为: #写入.ini文件: BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名 LPCTSTR lpKeyName, // lpAppName 下 阅读全文
posted @ 2020-06-10 17:35 鲸小鱼- 阅读(578) 评论(0) 推荐(0) 编辑
摘要:说实话,很多人做了很久的C/C++,也用了很多IDE,但是对于可执行程序的底层生成一片茫然,这无疑是一种悲哀,可以想象到大公司面试正好被问到这样的问题,有多悲催不言而喻,这里正由于换工作的缘故,所以打算系统的把之前用到的C/C++补一补。这里权且当做抛砖引玉,大神飘过。 【总述】 从一个源文件(.c 阅读全文
posted @ 2020-05-20 10:36 鲸小鱼- 阅读(156) 评论(0) 推荐(0) 编辑
摘要:看书看到了explicit关键字,就来做个笔记,讲得比较明白,比较浅。 在C++中,我们有时可以将构造函数用作自动类型转换函数。但这种自动特性并非总是合乎要求的,有时会导致意外的类型转换,因此,C++新增了关键字explicit,用于关闭这种自动特性。即被explicit关键字修饰的类构造函数,不能 阅读全文
posted @ 2020-05-07 13:46 鲸小鱼- 阅读(168) 评论(0) 推荐(0) 编辑
摘要:本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beginthreadex到底有什么区别,在实际的编程中到底应该使用CreateThread还是_begi 阅读全文
posted @ 2020-04-30 15:57 鲸小鱼- 阅读(292) 评论(0) 推荐(0) 编辑
摘要:一. 简介 1.1 C++两种库文件 lib包含了函数所在的dll文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的dll提供,称为动态链接库dynamic link library。(这种方式更灵活,写的程序体积小,但是需要.exe和dll同时发布) lib包含函数代码本身,在编译 阅读全文
posted @ 2020-04-15 20:03 鲸小鱼- 阅读(994) 评论(0) 推荐(0) 编辑
摘要:在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用。所以在所有对象中都可以共享它。使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节省内存。静态成员的定义或声明要加个关键static。静态成员可以通过双冒号来使用即 <类名>::<静 阅读全文
posted @ 2020-03-30 16:06 鲸小鱼- 阅读(417) 评论(0) 推荐(0) 编辑
摘要:C++如何让类对象只能在堆(栈)上分配空间 一般情况下写一个类都是可以采用new在堆上分配空间,或直接采用 类名+对象名 的方式在栈上分配空间。但有时候,如果想让一个类只能在栈上或者堆上分配空间,又该怎么实现呢? 下面分别来介绍如何定义只能在栈上或堆上实例化的类。 注:1.静态实例化对象 如 A a 阅读全文
posted @ 2020-03-26 11:39 鲸小鱼- 阅读(945) 评论(0) 推荐(0) 编辑
摘要:以下不作为C++学习路径,只是汇总的校招C++后台开发面试考点(因为还有笔试考点,后面结合在一起给大家学习路径),后续会为大家更新10w+字数的C++校招面试题库,还有其他岗位的相关题库和资料,想要什么岗位的可以留言哦~ 本篇根据各个公司的面试问的问题的大数据进行总结,后面还会更新面试中考察所占比例 阅读全文
posted @ 2020-03-23 15:25 鲸小鱼- 阅读(1246) 评论(0) 推荐(0) 编辑
摘要:一、欧几里得算法及其证明 1.定义: 欧几里得算法又称辗转相除法,用于求两数的最大公约数,计算公式为GCD(a,b)=GCD(b,a%b); 2.证明: 设x为两整数a,b(a>=b)的最大公约数,那么x|a,x|b; ①由整数除法具有传递性(若x能整除a,x能整除b,那么x可整除a,b的任意线性组 阅读全文
posted @ 2020-03-12 08:44 鲸小鱼- 阅读(1278) 评论(0) 推荐(0) 编辑
摘要:前言 这两天在LeetCode上刷题的时候看见有好几个速度排名第一的代码中都有一段类似的代码,如下: static const auto io_sync_off = []() { // turn off sync std::ios::sync_with_stdio(false); // untie 阅读全文
posted @ 2020-03-11 09:06 鲸小鱼- 阅读(692) 评论(0) 推荐(0) 编辑
摘要:一道力扣题目 只出现一次的数字: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2 阅读全文
posted @ 2020-02-11 10:42 鲸小鱼- 阅读(5626) 评论(0) 推荐(0) 编辑
摘要:谓词与函数对象 谓词 predicate C++ 标准定义谓词如下: The Predicate parameter is used whenever an algorithm expects a function object that when applied to the result of 阅读全文
posted @ 2019-06-14 16:29 鲸小鱼- 阅读(528) 评论(0) 推荐(0) 编辑
摘要:概述 保证一个类、只有一个实例存在,同时提供能对该实例加以访问的全局访问方法。 三个要点:一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。 模式中的角色和职责 Singleton(单例):在单例类的内部实现只生成一个实例,同时它提供一个静态的getInst 阅读全文
posted @ 2019-05-21 00:07 鲸小鱼- 阅读(159) 评论(0) 推荐(0) 编辑
摘要:C++ 继承 基类 & 派生类 一个类可以派生自多个类,这意味着,它可以从多个基类继承数据和函数。定义一个派生类,我们使用一个类派生列表来指定基类。类派生列表以一个或多个基类命名,形式如下: 多继承 多继承即一个子类可以有多个父类,它继承了多个父类的特性。 C++ 类可以从多个类继承成员,语法如下: 阅读全文
posted @ 2019-05-20 15:52 鲸小鱼- 阅读(447) 评论(0) 推荐(0) 编辑
摘要:内容整理自国外C++教材 先考虑一个简单的例子:假设有一个vector<string>,你的任务是统计长度小于5的string的个数,如果使用count_if函数的话,你的代码可能长成这样: 其中count_if函数的第三个参数是一个函数指针,返回一个bool类型的值。一般的,如果需要将特定的阈值长 阅读全文
posted @ 2019-05-19 21:57 鲸小鱼- 阅读(190) 评论(0) 推荐(0) 编辑
摘要:函数指针 函数指针是指向函数调用地址的指针。它和函数名究竟有什么关系呢?且看下文。 看一小程序 首先,先请看下边程序: 程序的运行结果如下: 从上边程序,我们可以得到下边结论: 1. 函数指针和函数名本质上是一样的,都是指向函数调用地址的指针,只是函数名是常量指针,函数指针是变量。 2. 调用函数的 阅读全文
posted @ 2019-05-16 16:51 鲸小鱼- 阅读(1398) 评论(2) 推荐(1) 编辑
摘要:1. string::find()函数和string::npos函数的介绍 我们在学习C++的时候必不可少的使用到string类中的find()函数,它是一个查找函数,功能还是很强大的,但是此处我们不对他进行过多的讲解只是了解它的基本使用,最重要的是和string::npos的关系。 string: 阅读全文
posted @ 2019-05-10 16:00 鲸小鱼- 阅读(21959) 评论(0) 推荐(5) 编辑