C/C++
Bazingaea
生命不息 学习不止
展开
-
如何利用llvm得到一个函数的CFG结构
1.llvm-5.0安装参考:https://www.jianshu.com/p/861c1a630059准备工作首先安装必要的软件,官方是使用 svn 进行版本控制的,我们可以通过 svn 获取其源码。安装过程中要用到 cmake 命令,所以我们需要安装 subversion 和 cmake 两个软件。LLVM 也支持 Git 了,但是好像不是所有的子项目都支持,所以这里没做研究。su...原创 2019-11-25 21:35:25 · 1557 阅读 · 0 评论 -
C++中的类与对象
c++和java对于类,和对象的概念性定义是基本一致的,通过类声明创建一个类,而且将这个类当作数据类型来使用,类声明封装了该类中的数据成员与成员函数。在C++中,以一个类作为数据类型定义的变量就是对象。声明一个类的语法,和java是不尽相同的,在C++中,声明一个类:class Test{ private: int num; public: void setNum(原创 2016-05-12 20:02:31 · 547 阅读 · 0 评论 -
加inline关键字强制转为内联函数
内联函数通知编译器用成员函数的函数体替换掉所有对该函数进行调用的代码,这样在替换后的代码中不再出现对这个函数进行调用的代码在类声明中定义类的各种成员函数,这些成员函数都是inline类型的进行成员函数声明的时候,使用inline关键字,可将原本定义在类声明之外的成员函数强制变成内联函数class Test{Public: inline void myTe原创 2016-05-12 20:45:00 · 2007 阅读 · 0 评论 -
通过传址来传递和返回对象
#include #include using namespace std;class Test{ private: string name; public: void setName(string& name){ this->name=name; } string& getName(){ return name; } };int ma原创 2016-05-13 12:20:25 · 482 阅读 · 0 评论 -
const关键字
为参数添加const关键字:表明setNum这个函数 不会改变num的值,只是将num赋值给成员函数class A{public: void setNum(const int num){ this->num=num; }private: int num;}为方法添加const关键字:get函数不需要改变类中的任何数据成员,称这种函数为只读函数原创 2016-05-13 12:01:26 · 418 阅读 · 0 评论 -
【转载】C++三种容器:list、vector和deque的区别
C++中的容器类包括“顺序存储结构”和“关联存储结构”,前者包括vector,list,deque等;后者包括set,map,multiset,multimap等。若需要存储的元素数在编译器间就可以确定,可以使用数组来存储,否则,就需要用到容器类了。1、vector 连续存储结构,每个元素在内存上是连续的;支持高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下;转载 2018-01-26 21:27:02 · 575 阅读 · 1 评论 -
统计两个日期间隔天数【C语言】
规定:如果两个日期是连续的,间隔天数为2天。如果题目给出的是一天,也很好修改,我会在代码中注释出来。说一下思路,给出的两个日期,以YYYYMMDD的形式输入,方便数据的读取,分三种情况考虑:(1)如果年月都相同,这是最为简单的一种,直接计算天数即可(2)如果仅年相同,需要从M1加到M2,用for循环很好实现,需要注意大小月,以及对2月的特殊处理(3)都不相同,先算第一个日期到年末(YYYY1231...原创 2018-02-21 23:36:50 · 4131 阅读 · 0 评论