![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++的伟大与陷阱
文章平均质量分 52
fcf1990501
这个作者很懒,什么都没留下…
展开
-
C/C++ 中 static 的用法全局变量与局部变量
c/c++基础知识转载 2022-07-27 20:34:08 · 2217 阅读 · 0 评论 -
C/C++中extern关键字详解
c/c++基础知识转载 2022-07-27 14:23:49 · 494 阅读 · 0 评论 -
一文读懂C++右值引用和std::move
c++重要的基础知识转载 2022-06-28 10:38:37 · 63 阅读 · 0 评论 -
探索C++右值引用的本质
c++重要基础知识点原创 2022-06-27 20:49:37 · 283 阅读 · 0 评论 -
关于C++ 的 this指针
c++重要的基础知识点转载 2022-06-27 16:56:13 · 55 阅读 · 0 评论 -
关于C++对象作为返回值的背后详解
c++重要的基础知识点转载 2022-06-27 16:18:46 · 330 阅读 · 0 评论 -
c++ 左值引用与右值引用
c++重要的基础知识点转载 2022-06-27 16:15:32 · 388 阅读 · 0 评论 -
关于C++对象作为参数详解
c++的重要基础知识点转载 2022-06-27 15:37:20 · 1724 阅读 · 0 评论 -
C++中Const说明
最近在看程序员面试宝典,看到const这块感觉有很大疑惑,查了很多资料,可以总结如下:1.在C语言中 在C语言中,const修饰的变量不具有常量的特性,只是一个不可修改的变量,实质上仍然是变量,在编译期间无法知道它的值,不可以用作数组下标。2.在C++中 在C++中,const就有很大不一样,C++中鼓励使用const来替代#define,在C++中对const定义的变量分为两种情况:情况1(在.rodata段分配空间): 如果const用在全局或者使用了static关键字说明转载 2020-05-29 14:41:00 · 161 阅读 · 0 评论 -
C++中的继承(1) 三种继承方式
1、继承与派生 继承是使代码可以复用的重要手段,也是面向对象程序设计的核心思想之一。简单的说,继承是指一个对象直接使用另一对象的属性和方法。继承呈现了 面向对象程序设 计的层次结构, 体现了 由简单到复杂的认知过程。C++中的继承关系就好比现实生活中的父子关系,继承一笔财产比白手起家要容易得多,原始类称为基类,继承类称为派生类,它们是类似于父亲和儿子的关系,所以也分别叫父类和子类。而子类...转载 2019-04-20 21:24:34 · 446 阅读 · 0 评论 -
C++单例模式
1.什么是单例模式? 单例模式也称为单件模式、单子模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类,即设计的一个类成为单例。通过单例模式可以保证系统中一个这个类只有一个实例。即一个类只有一个对象实例。(设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结)。单例模式是设计模式中最简单的形式之一。用一种只允许生成对象...转载 2019-04-20 21:22:07 · 143 阅读 · 0 评论 -
C/C++中static的用法全局变量与局部变量
1.什么是static? static是C/C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。1.1static的引入 我们知道在函数内部定义的变量,当程序执行到它的定义处时,编译器为它在栈上分配空间,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题:如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义为全局的变量,但定义...转载 2019-04-20 21:19:27 · 1118 阅读 · 0 评论 -
魔法数字Magic Number C语言代码
题目描述:如果一个数(可能包含前导0)乘以2,如142857*2=285714,依然由原来的数字组成的话,这样的数(142857)就叫Magic Number输入:多组测试数据,每组一行,每行是一个不大于1e10000整数(可能有前导0),遇到EOF标志结束程序输出:判断这个数是不是Magic Number,是的话输出“Magic Number”否则输出“N原创 2012-12-29 15:20:21 · 3069 阅读 · 0 评论 -
C语言将数字转化为字符串
函数 char *digitToAlpha (int val, char *buf, unsigned radix) 的功能是将数值转换为字符串。参数:第一个是要转化的整数,第二个是转化后的字符串,第三个是要转化整数的基数,就是说如果基数是10,就可以直接转化,如果不是10,是其他值(2-36之间),则先把该整数转化为该基数的数后,再转化为字符串。view sourcepr原创 2012-12-29 15:24:23 · 763 阅读 · 0 评论 -
C99结构体指定初始化
在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目:static struct usb_driver usb_stor转载 2012-12-27 21:57:32 · 330 阅读 · 0 评论 -
另一个视角解读计算机编码-补码编码
数学是一个完全抽象的学科,而计算机是这个学科的一种形象化的实现,显然无法处理一些仅在抽象意义上有意义的特殊“数字”,比如无穷之类的东西,。像数学中的加法,乘法这样运算,计算机必须给与实现,然而由于数学中的实数加法(以及别的运算)是建立在实数域上的,而实数域又是无限的,而计算机只能处理有限域的运算,因此必须给定一个范围,一种方案是在这个范围内保证运算的正确性,超出范围的结果给出错误提示,然而这样的计转载 2012-12-27 21:46:55 · 299 阅读 · 0 评论