- 博客(13)
- 收藏
- 关注
转载 QT5 中文乱码问题
qt是跨平台的开发平台。他的编译器是要手动配置的,在window下一般我们用virtual stuido中cl,或者Mingw中的g++在linux中一般采用Linux下的g++而 微软VS的中的cl,Mingw中的g++,Linux下的g++),源代码分别采用GBK和不带BOM的UTF-8以及带BOM的UTF-8这3中编码进行保存。也就是说编译器的编码方式是不同...
2019-04-21 16:03:10
431
原创 Lesson7
STLstring#include <iostream>#include <exception>#include <string>using namespace std;void StringInit(){ string s1; string s2("helloworld"); string s3(5,'q'); string s4...
2018-08-06 19:09:30
220
原创 Lesson6
C++强制类型转换Static_cast<T>(expr) 用于基本类型间的转换 不能用于基本类型指针间的转换用于有继承关系类对象之间的转换和类指针之间的转换在编译期间转换的存在风险Reinterpret_cast<T>(expr) 用于指针类型间的强制转换 整数和指针类型间的强制转换不安全Const_cast<T>(expr...
2018-08-06 19:05:47
196
转载 C++ STL中string大小写转换 transform算法中toupper的使用注意事项
在std中toupper的原型为一个二元函数标准库重载了一个touppe函数,而GCC完全由C库去提供重载,而glibc做不到这一点,所以在编译的时候g++就认为这个函数有歧义了。下面就是在标准库中toupper函数的两种形式:int std :: toupper ( int ); // from <cctype> template < class chart ...
2018-08-06 18:56:26
2267
原创 排序
void swap(int a[],int i,int j){ int tmp; tmp=a[i]; a[i]=a[j]; a[j]=tmp;}void print(int a[],int len){ int i; for(i=0;i<len;i++) printf("%3d",a[i]); printf("\n");}void Bubble_sort...
2018-08-02 10:01:01
203
转载 char a[](字符串数组)和char *a(字符串指针)区别
在C语言中,对字符串的操作主要有两种方式,一是使用字符数组,char str[];二是使用字符指针。那么二者有什么区别呢?下面将分述二者的使用,最后进行比较。 一、字符数组 使用char str[]定义一个字符数组str,中括号内可以写上数字表示数组大小,也可以不写。如果不写数字,则必须为字符数组提供初始值,以便编译器进行内存分配。可以使用字符串字面值(string ...
2018-08-02 09:53:16
3311
原创 Lesson5
#include <iostream> using namespace std; class A{public:virtual void print(){cout<<"aaaaaaaa"<<endl;}}; class B:public A{public:void print(){cout&...
2018-08-02 09:17:43
163
原创 Lesson4
在构造函数中使用初始化列表的三种情况,1、基类初始化 2、成员类对象初始化 3、常成员初始化 继承中 构造函数的初始化顺序是 先基类构造函数 再子对象的构造函数 再派生类的构造函数 对派生类中成员的初始化与成员初始化列表中给出的子对象顺序无关 虚继承Class B{Int m_b;}Class A1:virtual public B{Int m_...
2018-07-29 14:44:27
212
原创 Lesson3
不能重载的运算符. :: .* ?: sizeof 重载为成员函数时 不能作为左值的 不能返回引用要能作为左值 则返回引用 左移右移运算符的重载返回值不作为重载判断的标准 c++通过一个占位参数来区分前置和后置运算 Complex operator ++(int);Complex &operator ++(); ...
2018-07-29 10:20:10
175
原创 Lesson2
头文件的编写格式#ifndef _STUDENT_H#define _STUDENT_H #endif // !_STUDENT_H 默认拷贝构造函数Test(const Test &p){ a=p.a;} 匿名对象 生命周期只存在于一行代码class Test{private:int a,b;public:...
2018-07-29 10:16:44
260
转载 自由存储区和堆
自由存储区和堆的区别是一个老生常谈的问题了,就像面试题new和malloc的区别一样。事实上,网上多说人认为,自由存储区与堆的划分标准是申请和释放内存是使用的new/delete还是malloc/free。C++标准并没有给出new/delete应该如何实现,但很多编译器的new/delete都是以malloc/free为基础来实现的。从技术上来说,堆(heap)是C语言和操作系统的术语,堆是操作...
2018-07-25 20:10:08
5696
1
转载 new和malloc的区别
0. 属性new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。1. 参数使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。2. 返回类型new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类...
2018-07-25 19:42:11
159
原创 Lesson1
egister int i;&i; //在c语言中变量c存放在寄存器中,所以无法取地址,而在c++中,变量c就是当作一个普通变量 C语言中未初始化的全局变量,输出默认为0;未初始化的局部变量,输出默认为内存地址;C语言中允许定义多个相同的全局变量;C++中不能; c语言中 函数无参数,则说明可以传递无数个(加void则表示无参)eg:print()...
2018-07-25 16:08:28
332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人