C/C++
文章平均质量分 86
blight_888
梦想是注定孤独的旅行,路上少不了质疑和嘲笑,但那又怎么样,哪怕遍体鳞伤,也要活的漂亮。
展开
-
C++中的虚表(内存分布)
作为新手很容易混淆内存布局这块的虚表(虚函数表)和虚基表指针,所以就来区分下这两个到底是什么?是做什么用的,在内存中是怎么实现的来加深理解。1.什么是虚表?为什么要有虚表他在C++中的作用又是什么?虚表就是虚函数表的简称,虚函数表是通过一块连续内存来存储虚函数的地址,这张表解决了继承,虚函数(重写)的问题。在有虚函数的对象实例中都存在一张虚函数表,虚函数表就像一张地图,指明了实际应原创 2017-04-04 10:36:26 · 2182 阅读 · 0 评论 -
C++中的智能指针(上)
C++提供了4种智能指针用于对分配的内存进行自动释放,分别如下auto_ptr、unique_ptr、shared_ptr、weak_ptr。其中auto_ptr在C++98标准引入,后三种在C++11标准中加入。虽然autoptr存在缺陷但是还是值得了解一下的。智能指针的简介 C++智能指针是行为类似于指针的类对象。它使用设计模式中的代理模式,代理了原始“裸原创 2017-04-13 10:27:35 · 235 阅读 · 0 评论 -
模拟实现strcpy,strncpy,strcat,strncat,strcmp,strncmp,memcpy,memmove
1.strcpy#include #include #include void my_strcpy(char *dest, const char *src) //strcpy{ assert(src); assert(dest); while (*dest++ = *src++) { ; }}int main() { char arr1[20] = {0原创 2017-01-13 11:09:20 · 329 阅读 · 0 评论 -
C++ 智能指针(下)
上篇文章我们主要了解实现了auto_ptr 和 scoped_ptr,这两个实现总的来说都存在缺陷,所以在应用中使用起来不能得心应手,就有了接下来的升级版 shared_ptr,他是在scoped和auto_ptr的基础上利用了引用计数的方法解决了不同指针指向同块空间的问题,但完美的代码总是经过反复修改的代码,也存在缺陷,我们先看代码,后边解决。#includeusing namespace原创 2017-04-18 13:54:36 · 313 阅读 · 0 评论 -
函数调用原理——栈帧
本次主要是想通过画图结合汇编代码增加对函数调用过程中的栈结构的理解,用一段简单的代码试验。原创 2016-12-19 16:53:15 · 400 阅读 · 0 评论 -
浮点型在内存当中的存储方式
常见的浮点型:3.14159 IE10浮点数包括:float, double, long double。浮点数表示的范围:float.h中定义。原创 2016-12-07 11:36:09 · 414 阅读 · 0 评论 -
两个有趣的逻辑推理题用编程来解答
1. 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。以下为4个嫌疑犯的供词。A说:不是我。B说:是C。C说:是D。D说:C在胡说已知3个人说了真话,1个人说的是假话。现在请根据这些信息,写一个程序来确定到底谁是凶手。#includeint main(){ int i,sum=0,flag=0; char killer; fo原创 2016-11-16 12:24:04 · 7076 阅读 · 0 评论 -
小菜鸟写代码遇到的那些事
一般呢,我自己学编程的方式就是先看书上的概念定义,在看些例题视频什么的接下来就自己找些简单的经典的例子自己敲上去,运行试试看,接下来就是一大堆问题,而且基本好多都是自己看过的但是放到实际中就又是另一种情况,好多我都不怎么会解决,这个给我学习造成了很大的麻烦,而且很费时间,所以我也只知道了调试比写代码更重要,要想学好编程那么我一定要熟练掌握F10,F11的运用,还有系统为各个变原创 2016-11-03 12:59:41 · 440 阅读 · 0 评论