C++基础
ms.cplusplus
此人很懒,还有点可爱
展开
-
冒泡排序及其优化
冒泡排序是稳定的冒泡排序是稳定的冒泡排序是稳定的原始的冒泡排序由于该排序算法的每一轮都要遍历一遍所有的元素,轮转的次数和元素数量相当,所以时间复杂度为O(N^2)。void BubbleSort(int a[], int len){ int i, j, temp; for (j = 0; j < len - 1; j++) { for (i = 0; i < ...原创 2019-12-18 15:44:11 · 194 阅读 · 0 评论 -
C++ int和string 互转
**string 转int1、to_string**包含头文件#include<iostream>int a = 1234;string str = std::to_string(a);2、stringstream 字符串流包含sstream头文件*sstream类型定义了一个有string形参的构造函数,即: stringstream stream(s); 创建了存...原创 2019-11-09 11:32:44 · 300 阅读 · 0 评论 -
c++ 数字转为对应ASCII字符--reinterpret_cast
reinterpret_catvoid main() { int A = 74; int *sh = &A; char* pc = reinterpret_cast<char*>(sh); cout << *sh << endl; cout << pc << endl; system("pause");}原创 2019-08-07 22:27:22 · 2139 阅读 · 0 评论 -
C++ 范围for语句---- for(declaration : expression)
范围for语句的语法结构:for(declaration : expression)statement;expression 的表示必须是一个序列,比如用花括号括起来的初始值列表、数组、vector、string等类型的对象,这些类型的共同点是拥有能返回迭代器的begin和end成员;declaration定义一个变量,序列中的每一个元素都可以转换成该变量的类型。最简单的方法是使用auto...原创 2019-08-07 22:55:23 · 480 阅读 · 0 评论 -
C++高速排序算法
根据网上看到的高速排序算法介绍,进行的代码实现。目前的代码还是比较粗糙和繁琐的,等待后续改进~(下面的文字介绍部分来源于https://www.cnblogs.com/yxwkf/p/3842616.html)一、高速排序算法的基本特性时间复杂度:O(nlgn)最坏:O(n^2)空间复杂度:O(nlgn)不稳定。高速排序是一种排序算法,对包括n个数的输入数组,平均时间为O(nlgn)...原创 2019-08-20 07:17:53 · 196 阅读 · 0 评论 -
C++ Vector
vector的使用频率非常高,因此应该很好的掌握vector。vector是标准库类型,表示对象的集合,其中所有对象的类型都相同。集合中的每个对象都有一个与之对应的索引,索引用于访问对象。1、使用vector需要包含的头文件及声明:#include<vector>using std::vector;2、定义和初始化vector对象vector < T > v1...原创 2019-08-20 23:41:30 · 421 阅读 · 0 评论 -
C++ const char* 转char*
const_cast 用于将常量对象转换成非常量对象。void main() { const char* ch = "BDEF"; char *sh = const_cast<char *>(ch); cout << sh << endl; sh = const_cast<char*>("faf"); cout << sh &...原创 2019-08-07 22:18:03 · 14619 阅读 · 0 评论 -
C++中的static 成员变量
C++中的static 成员变量的一些注意点转自 https://www.cnblogs.com/yongdaimi/p/9554436.htmlC++中的static成员变量主要用来为多个对象共享数据例:#include <iostream>using namespace std;class Student{public: Student(char *name,...转载 2019-07-23 09:42:27 · 151 阅读 · 0 评论 -
C++数组和指针
Part one在用到数组名的地方,便会将其转换为指向数组第一个元素的指针char a[ ] = { };auto p = a; //等价于 p = &a[0];#include<iostream>#include<string>using namespace std;void main() { char a[4] = {'a','b','a...原创 2019-07-24 23:09:02 · 129 阅读 · 0 评论 -
c++ 用数组初始化vector
数组之间不能相互初始化;不能用vector对象初始化数组;但是:可以用数组初始化vector对象;#include<iostream>#include<vector>using namespace std;void main() { char a[4] = { 'a','b','c','d' }; vector<char> vec(begin(...原创 2019-07-24 23:18:41 · 1779 阅读 · 0 评论 -
ifstream
#include <string> #include <iostream> #include <algorithm> #include <vector> #include <fstream> using namespace std; int main() { ifstream in("name.tx...转载 2019-07-22 15:08:09 · 605 阅读 · 0 评论 -
reinterpret_cast强制类型转换符
reinterpret_cast强制类型转换符用法:new_type a = reinterpret_cast <new_type> (value)将value的值转成new_type类型的值,a和value的值一模一样。比特位不变reinterpret_cast用在任意指针(或引用)类型之间的转换;以及指针与足够大的整数类型之间的转换;从整数类型(包括枚举类型)到指针类型,无...转载 2019-07-22 16:00:56 · 1878 阅读 · 0 评论 -
boost::split
split 分割字符串string content = “afdag|fwagag|fgwaer|wgag|afs”;std::vector<std::string>source;boost::split(source,content,boost::is_any_of("|"));原创 2019-07-22 16:10:34 · 163 阅读 · 0 评论 -
字符串大小写转换
在C++语言中to_lower()函数是把字符串都转化为小写字母;to_upper()函数是把字符串都转化为大写字母;原创 2019-07-22 16:19:59 · 154 阅读 · 0 评论 -
string::assign
从string类型变量或const char * 中读取部分字符串到string变量中:赋值(assign)语法:basic_string &assign( const basic_string &str );basic_string &assign( const char *str );basic_string &assign( const char *...原创 2019-07-22 16:36:00 · 521 阅读 · 0 评论 -
C++ explicit (用于修饰只有一个参数的类构造函数)
首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式).那么显示声明的构造函数和隐式声明的有什么区别呢? 我们来看下面的例子:class CxString // 没有使用explicit关键字的类声明, 即...转载 2019-07-22 19:06:52 · 1823 阅读 · 0 评论 -
C++ string
头文件 。#include < string >string类是一个模板类,位于名字空间std中;using namespace std;1. 初始化;string str; //空字符串string str1 = "qazwsx";string str2 = str1;string str3("qazwsx");string str4 (5, 'a')...原创 2019-07-23 19:59:18 · 133 阅读 · 0 评论