C++
mengxiangjia_linxi
不求关注,只求建立自己的知识宝库
展开
-
结构体中.和->两种访问区别
定义结构体指针,访问成员时就用->定义结构体变量,访问成员时就用.例如:struct A { int a; char b;};struct A q; 访问成员就用:q.a;struct A *p; 访问成员就用:p->a;原创 2017-04-21 10:05:49 · 7497 阅读 · 0 评论 -
丢失libiconv-2.dll解决办法以及无法定位输入点libiconv-2.dll到动态链接库
在为minGW添加PATH过程中出现提示丢失libiconv-2.dll的问题解决办法:下载好libiconv-2.dll后放到以下路径: 32位:C:\Windows\System32 64位:C:\Windows\SysWOW64然后进行注册: win+r打开运行,然后输入:regsvr32 /s libiconv-2.dll即可。如果提示无法定位输入点libiconv-2.dll到动态链原创 2017-10-01 14:17:31 · 9770 阅读 · 1 评论 -
minGW下载与编译器安装
官网地址:http://www.mingw.org/wiki/MinGW 进入官网,点击左侧Downloads 然后点击下载mingw-get-setup.exe这是一个minGW下载器,可以选择需要的编译环境(下面的MinGW也可以,但是下载的组件不全,最好用下载器下载)选择需要的编译器: 我选择了mingw32-base与mingw32-g++ 绿色的为安装成功后的环境。关于设置MinG原创 2017-10-01 15:47:11 · 1057 阅读 · 0 评论 -
程序时间复杂度的几种表示
看《数据结构、算法与应用:C++语言描述》中讲到程序性能的时候涉及到了空间复杂度与时间复杂度。其中时间复杂度有多种表示:O、Ω、Θ、o,然后然后就蒙圈了,虽然书上讲的也比较详细但还是不够直接。这样表示时间复杂度 O:big-O————上界 Ω:big-Omega—–下界(很少用) Θ:big-Theta——-确界F(n) = Θ(n^2)的时候,意思是说“F(n)在渐进情况下不仅不会比n^2增原创 2017-10-02 23:02:18 · 12155 阅读 · 1 评论 -
C++产生随机数简单例子
C++中,rand%100产生 0-99 间的随机数,即rand%n产生 0~n-1 间的随机数。附代码原创 2017-10-03 19:10:03 · 1239 阅读 · 1 评论 -
斐波那契数列Fibonacci实现(递归、尾递归、循环)
主要内容摘自http://www.cnblogs.com/Anker/archive/2013/03/04/2943498.html一、递归简单的来说递归就是一个函数直接或间接地调用自身,是为直接或间接递归。递归一般用于解决三类问题: (1)数据的定义是按递归定义的。(Fibonacci函数,n的阶乘) (2)问题解法按递归实现。(回溯) (3)数据的结构形式是按递归定义的。(转载 2017-10-04 17:45:29 · 10652 阅读 · 1 评论 -
getline()函数详解
学习C++的同学可能都会遇到一个getline()函数,譬如在C++premer中,标准string类型第二小节就是“用getline读取整行文本”。书上给的程序如下:int main(){ string line; while(getline(cin,line)) cout<<line<<endl; return 0;}大家会发现运行时怎么也跳不出循环,甚至会发转载 2017-10-06 14:48:28 · 559 阅读 · 0 评论 -
文件操作fstream的使用方法
#include<fstream>这个库包含了三个基本的类:ifstream, ofstream和fstream。 分别代表: ifstream是从硬盘到内存(输入),ofstream是从内存到硬盘(输出),输入输出文件。 其实所谓的流缓冲就是内存空间; 流在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的转载 2017-10-06 16:08:22 · 700 阅读 · 0 评论 -
C++中不能声明为虚函数的有哪些函数
常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。转载 2017-11-07 09:46:57 · 353 阅读 · 0 评论 -
c++中this指针的用法
转载地址:http://www.cnblogs.com/NeilZhang/p/5722585.html1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时转载 2017-11-07 09:59:58 · 306 阅读 · 0 评论 -
C++类的静态数据为什么一定要初始化
原文地址:https://my.oschina.net/u/1537391/blog/219432我们知道C++类的静态成员变量是需要初始化的,但为什么要初始化呢。其实这句话“静态成员变量是需要初始化的”是有一定问题的,应该说“静态成员变量需要定义”才是准确的,而不是初始化。两者的区别在于:初始化是赋一个初始值,而定义是分配内存。静态成员变量在类中仅仅是声明,没有定义,所以要在类的外面定义,实...转载 2018-03-14 09:16:53 · 669 阅读 · 0 评论 -
C++ mysql API操作数据库(以当前日期建表,插入)
需求: 连接已存在的数据库,并以当前日期为名创建数据表,然后进行插入操作说明:以下为代码片,并不能直接运行,仅可做参考!!!//数据库相关const char user[] = &quot;bladed&quot;; const char pswd[] = &quot;bladed&quot;; const char host[] = &quot;47.95.118.14&a原创 2018-06-10 22:30:05 · 2328 阅读 · 0 评论 -
C语言time.h中clock()函数测程序运行时间
C语言中求程序执行的时间可以使用clock()函数_CRTIMP clock_t __cdecl __MINGW_NOTHROW clock (void);(可以把它直接视为clock_t clock(void);)这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,其中clock_t是用来保存时间的数据类型,在time.h文件转载 2017-09-30 11:08:41 · 4171 阅读 · 0 评论 -
C++逐行读取文本文件
/**数据:逐行读取文本文件.txt逐行读取文本文件实例:100 1 1 1 1 1 0 0 0 00 0 0 0 0 1 0 1 0 00 0 0 1 0 1 0 0 0 00 1 0 1 0 1 0 1 1 00 1 0 1 0 1 0 1 0 00 1 1 1 0 1 0 1 0 10 1 0 0 0 1 0 1 0 10 1 0 1 1 1 0 1 0 01 0 0 0原创 2017-10-17 20:18:22 · 1192 阅读 · 0 评论 -
结构体定义的几种方式
共计有三种形式,还有一种是typedef定义结构体原创 2017-10-07 10:41:26 · 32275 阅读 · 4 评论 -
QT之中文显示setText(tr("中文"));
如果大家以前学过Qt 4,那么现在可能会激动地发现不用在使用setCodecForTr()等函数就可以直接显示中文了。不过,在代码中直接使用中文本不是一个好的习惯,建议在编写程序时使用英文,当程序完成后使用Qt语言家来翻译整个软件中要显示的字符串。但是**为了以后可以进行国际化翻译,在界面上显示的字符串一般使用tr()函数包含**原创 2017-08-22 09:48:59 · 20154 阅读 · 1 评论 -
gcc -g -o -c分别是什么意思
gcc -g -o -c原创 2017-09-04 16:41:28 · 22864 阅读 · 0 评论 -
编译过程中gcc -I -L -l区别
用gcc编译程序时,可能会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:例:gcc -o hello hello.c -I /home/hello/include -L /home/hello/lib -lworld上面这句表示在编译hello.c时:-I /home/hello/include表示将/home/hello/include目录作为第一个寻找头文转载 2017-09-07 15:14:16 · 650 阅读 · 0 评论 -
GCC的编译流程分为了四个步骤:
GCC的编译流程分为了四个步骤:1.预处理,生成预编译文件(.文件): Gcc –E hello.c –o hello.i2.编译,生成汇编代码(.s文件): Gcc –S hello.i –o hello.s3.汇编,生成目标文件(.o文件): Gcc –c hello.s –o hello.o4.链接,生成可执行文件: Gcc hello.o –o hello在转载 2017-09-07 15:19:02 · 2447 阅读 · 0 评论 -
linux ubuntu下生成静态库与共享库
什么是静态库与动态库我们在编写一个C语言程序的时候,经常会遇到好多重复或常用的部分,如果每次都重新编写固然是可以的,不过那样会大大降低工作效率,并且影响代码的可读性,更不利于后期的代码维护。我们可以把他们制作成相应的功能函数,使用时直接调用就会很方便,还可以进行后期的功能升级。库通俗的说就是把这些常用函数的目标文件打包在一起,提供相应函数的接口,便于程序员使用。库是别人写好的现有的,成熟的,可原创 2017-09-07 15:46:12 · 1681 阅读 · 2 评论 -
Notepad++配置C和C++编译器
参考文章1: Notepad++配置C和C++编译器—–文章主要来源(notepad++下编译、运行、调试C/C++程序)原创 2017-08-30 17:19:47 · 11404 阅读 · 1 评论 -
编程语言对比
在初级程序员阶段,每个人都不可避免遇到选择编程语言和职业方向的难题。我挑选了几个常见的编程语言,分析了优缺点和职业方向,以供想当程序员的人参考。C/C++一句话概括:大多数中国程序员的第一个语言 C语言是面向过程语言在当代的鲁殿灵光,常用于编写操作系统。C++是C语言的一个超集,既有指针又有对象使它成转载 2017-09-08 19:59:17 · 998 阅读 · 0 评论 -
程序变量存储空间
变量存储空间详解原创 2017-09-02 10:45:04 · 349 阅读 · 0 评论 -
函数参数压栈的顺序为从右向左
函数参数压栈的顺序为从右向左。例一:#include <stdio.h>#include <stdlib.h>void main(){ int a=4; printf("%d,%d", a, a++); getchar();}结果输出:5,4例二:#include <stdio.h>#include <stdlib.h>void main(){ int a=原创 2017-09-20 17:17:25 · 342 阅读 · 0 评论 -
cin详解
cin是C++编程语言中的标准输入流对象,即istream类的对象。cin主要用于从标准输入读取数据,这里的标准输入,指的是终端的键盘。 此外,cout是流的对象,即ostream类的对象,cerr是标准错误输出流的对象,也是ostream 类的对象。这里的标准输出指的是终端键盘,标准错误输出指的是终端的屏幕。在理解cin功能时,不得不提标准输入缓冲区。当我们从键盘输入字符串的时候需要敲一下回车键原创 2017-10-06 17:09:39 · 1535 阅读 · 0 评论 -
多线程简单实例
线程:线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源, 但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的原创 2017-09-20 20:38:32 · 270 阅读 · 0 评论 -
C++获取当前时间(年月日、时分秒、毫秒)
获取时间: 年-月-日(YYmmdd) 时:分:秒(HHMMSS) 毫秒(MS)效率问题需要再优化 代码:#include <iostream>#include <string>#include <time.h>using namespace std;struct NowDate{ char tmp0[16]; //年月日 ...原创 2018-06-11 09:14:42 · 15394 阅读 · 0 评论