
_C || C++ || ASM || 数据结构
Lazylink
arm64/x86
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中的多重继承
class A{ //… }class B{ //… }class C : public A,public B{ //… }类从类A、B中继承所有公有和受保护的成员; 上面的访问控制符都是public,还可以是private、protected。原创 2016-03-31 00:22:38 · 328 阅读 · 0 评论 -
函数指针void(*(*f[n])())()
0x00 函数指针 函数指针和指针函数对于大多数使用C语言的程序员来说都是容易搞混的两个概念,相似的术语还有结构体指针和指针结构体、指针数组和数组指针等等,其他的类型都可以和指针结合起来。 为了更好的理解函数指针的使用方法和本质,本文打算从汇编的数据访问方式说起,从一个简单的、普通的函数...原创 2018-07-30 17:18:46 · 2037 阅读 · 0 评论 -
error LNK1120 and LNK2019:该符号在函数main中被引用
0x00 开篇       昨天,本来是一个好日子的,然后我默默的随便拿出一本C++书随便练练语法写写代码的,找到一行关于C++内函数指针的例子,其功能就是将一个函数的地址作为地址传给另一个函数,以指针的形式在另一个函数章调用,然后写完了,出现了传说中的error LNK2019,但是就是那个一个不到三十行的代码,让我找bug找了一个多小时,今天早上才找...原创 2018-05-21 16:35:54 · 3727 阅读 · 1 评论 -
vector的使用
0x00 简介C++中,vector变量类型是可以容纳多种数据类型的变量,头文件是vector。在使用过程中,可以直接通过成员函数向容器中加入元素,其访问方式既可以和数组的访问一样,同时也可以通过迭代器(iterator)进行访问,这种变量的存在的确节约了大量的编码时间,作者在这里总结一下C++中vector的使用技巧。0x01 vector的初始化一般使用...原创 2018-04-30 01:37:33 · 632 阅读 · 0 评论 -
C语言中#、##和do{}while(0)的高效用法
#的作用: 在宏定义前面都有一个#,例如#define、#if、#elif等等,看见这个,对#对认识还不够深刻,#符号后边单词被转化为字符串,例如:#define str(x) #x当使用str(abc)的的时候,str(abc)就相当于"abc"。##的作用:原创 2017-11-04 22:40:35 · 651 阅读 · 0 评论 -
C语言-实参到函数形参传递的理解
问题在C语言函数参数设置过程中,有些时候总是不能达到预期的效果。书上总是对这个C语言参数传递描述:传值方式、传到调用函数的是副本,然后就是常规的swap函数说明这个问题,但是还是不能以swap描述所有的问题,看了这个例子总是给人一种感觉:考虑到要在函数内部改变数据,在调用函数里边也真正改变了数据就用指针,这个感觉还是有漏洞,需要完善一下这个规则。C语言参数传递:传值方式有传值方式,还有原创 2017-10-14 12:08:11 · 1817 阅读 · 0 评论 -
KMP算法
KMP算法:在模式匹配中,C语言string.h里边有函数strstr(string,pat),其功能就是找到在string字符串里边与字符串pat匹配的,并返回开始匹配的字符在string字符串里边的下端,找不到返回-1。KMP算法是这种功能的更优的算法。KMP算法原理:如何计算失配函数:在string里寻找pat时,中间需要一个步骤:失配函数fail,这个函数需要根据pat字符原创 2017-10-11 19:32:40 · 541 阅读 · 0 评论 -
对C++保护成员的思考
这几天又考虑将QT好好学一下,由于C++学过,但很少用,对里边的好多理论忘记了不少。学习网上一个关于事件类型和处理的QT例子,对里边自定义的类继承QLabel类,并在自定义的类EventLabel里使用了QLabel的保护成员函数,代码如下:#include #include #include #include //声明了一个EventLabel类//mouseMoveEven原创 2017-07-31 18:30:12 · 758 阅读 · 0 评论 -
C语言中#if
在u-boot中看见一个不太理解的#if的用法:#if defined(CONFIG_AMD_LV400) (AMD_MANUFACT & FLASH_VENDMASK) | (AMD_ID_LV400B & FLASH_TYPEMASK);#elif defined(CONFIG_AMD_LV800) (AMD_MANUFACT & FLASH_VENDMASK) |原创 2017-02-05 00:22:58 · 1307 阅读 · 0 评论 -
C语言练习
1.求平方根#include #include int main(int argc, char *argv[]){ int n; float a2,a1=1; printf("please enter \n"); scanf("%d",&n); while(1){ a2 = (a1+n/a1)/2; if(a2 == a1){原创 2016-10-30 09:27:21 · 514 阅读 · 0 评论 -
C语言的数据类型所占的字节数
和机器字长及编译器有关系:所以,int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的): 1 sizeof(short int)<=sizeof(int) 2 sizeof(int)<=sizeof(long int)转载 2016-11-06 23:25:30 · 689 阅读 · 0 评论 -
SED1520 取字模软件
对其他液晶如何取字模不讲,只讲SED1520 取字模软件(软件下载 http://download.youkuaiyun.com/detail/wang__rongwei/9491592)具体设置::1.参数设置>>其他设置>> 勾上 纵向取模和字节倒序即可具体SED1520显示原理如下:原创 2016-04-15 00:38:22 · 1951 阅读 · 0 评论 -
ofstream和ifstream详细用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符:1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<”Write Stdout”<<’\原创 2016-03-28 18:24:45 · 652 阅读 · 0 评论 -
C++中的vector
在使用string时,我们可以向string对象中输入数据而不关心需要多少存储空间。但如果把某一行读入到一个string对象,由于整个文件事先不知道有多少行。 解决这个问题需要某种自动扩展的存放设施。于是可以采用vector,参考代码如下:#include <cstdlib> //include "system()"#include <iostream>#include <fstream原创 2016-04-02 16:30:54 · 448 阅读 · 0 评论 -
C++中的输出格式 八进制 十进制 十六进制
环境:Dev-C++ 代码参考:#include <cstdlib>#include <iostream>using namespace std;int main(int argc, char *argv[]){ cout<<"hello word\n"<<"8\t9"<<endl; //oct or hex ; cout<<oct<<8<<endl; syst原创 2016-04-02 11:04:14 · 863 阅读 · 0 评论 -
C++里的虚函数
多态是指使用相同的函数名来访问函数不同的实现方法,即“一种接口,多种方法”,用相同的形式访问一组通用的运算,每个运算可能对应的行为不同。C++支持编译时多态和运行时多态,运算符重载和函数重载就是编译时多态,而派生类和虚函数实现运行时多态。运行时多态的基础是基类指针,基类指针可以指向任何派生类对象。1.虚函数是为了实现多态而存在的#include using namespace std;clas原创 2016-03-31 23:14:27 · 449 阅读 · 0 评论 -
一个由dynamic_cast导致的问题
0x00 dynamic_cast<>简介将指向基类的指针或者引用转换成指向这个基类派生类的指针或者引用,转换成功将会得到派生类的指针或者引用,如果失败,将会返回一个null。用法如下:dynamic_cast<type *>(msg)dynamic_cast<type &>(msg)0x01 问题描述 一个类成员函数中使用if-e...原创 2018-08-26 16:23:39 · 1151 阅读 · 1 评论