
C++ 编程
小鸟在飞想
这个作者很懒,什么都没留下…
展开
-
混用string对像和C风格字符串
如果程序的某处需要一个C风格的字符串(字符串最后一个字符后面跟着一个空字符 ' \0 ' ),无法直接用string对象来代替它。例如:不能用string对象直接初始化指向字符的指针。为了完成该功能,string专门提供了c_str()的成员函数;string s("helloworld");char *str = s;//错误:不能用string对象初始化char *co...原创 2019-04-22 17:15:30 · 168 阅读 · 0 评论 -
C++ 四类类型转换,static_cast, const_cast, reinterrupt_cast, dynamic_cast给v
stacic_cast作用:对可转换的类型进行相应的类型转换示例:#include<iostream>using namespace std;int main() { int a = 1; int * b = (int *)a; //错误使用 //int *c = static_cast<int *>(a);//此处编译报错 int...原创 2019-08-12 17:07:47 · 692 阅读 · 1 评论 -
C++ 求绝对值函数abs()
cout << sizeof(int) << " " << sizeof(long) << " " << sizeof(long long)<<" "<<sizeof(float)<<" "<<sizeof(double);输出:4 4 8 4 8上述分别表述各种类型在VS2017...原创 2019-08-11 14:12:17 · 20002 阅读 · 2 评论 -
C++ 中数字间进制转换输出,string和数字的转换,string和C字符间的转换
string和数字的转换函数:to_string(),将数字转换为string#include<iostream>#include<string>using namespace std;int main() { int a = 1; double b = 0.1; cout << b << endl; string str_i...原创 2019-08-02 16:40:58 · 688 阅读 · 0 评论 -
C++中动态内存变量使用引用在函数中的传递与修改
#include<iostream>#include<string>using namespace std;void change(int * &a){ delete a; a=NULL;}int main(int argc, char **argv) { int *a = new int; *a=5; cout<<...原创 2019-05-17 17:07:36 · 341 阅读 · 0 评论 -
C++之程序结构,头文件,源代码文件
程序组织策略C++中建立代码工程时,通常包括三个部分:头文件,函数源代码文件,主程序源代码(即main()函数,可以调用函数源代码,完成程序的整体流程与功能)。头文件(#include)常包含的内容:函数原型 eg:void a(int temp); 使用 #define 或 const 定义的符号常量 结构声明 类声明 模板声明 内联函数说明:1. 通常...原创 2019-05-20 14:15:45 · 4345 阅读 · 0 评论 -
C++处理string中的字符
我们经常需要单独处理string对象中的字符,例如:检查一个string对象是否包含空白;把string对象中的字符进行大小写替换;检查某个特定字符是否出现;。。。。。上述问题我们可以使用范围for循环(C++11)对string对象进行遍历,例如:string a{"hello"};for(auto temp:a) 操作。。。。使用相应字符处理函数进...原创 2019-05-07 15:12:40 · 1112 阅读 · 0 评论 -
C++ 泛型算法之find(用于查询特定元素)
find算法声明:#include<algorithm>传递给find的前两个参数是表示元素范围的迭代器,第三个数是一个值,find将范围中的每个元素与给定的值进行比较,如果有匹配元素,则返回第一个等于给定值的元素的迭代器,如果无匹配值,则返回find中第二个用来表示范围的迭代器参数来表示搜索失败。find不仅可以应用于容器,还可以应用与内置数组,还可以在序列的子范围查找。...原创 2019-05-05 15:44:19 · 1633 阅读 · 0 评论 -
C++ 关键字auto小结
在C++11之前以及C语言中,auto用于指出变量为自动变量,但是基本用不到。在C++11新版本中,auto用于根据根据初始值的类型,推断变量的类型。在处理复杂类型时,auto的优势可以很好的显现出来例如:C++98代码std::vector<double> a;std::vector<double>::iterator it = a.begin()...原创 2019-05-05 10:38:30 · 205 阅读 · 0 评论 -
C++类继承:派生类的构造函数
派生类不能直接访问基类的私有成员,必须使用基类的公有方法来访问基类的私有成员。这意味着派生类的构造函数必须使用基类的构造函数来设置从基类中继承的私有成员。因此,在程序使用派生类构造函数创建派生类对象之前,要使用基类构造函数创建基类对象。C++中,使用成员初始化列表完成这种工作。示例:class A{public: A(int a); ...原创 2019-04-29 11:27:54 · 4203 阅读 · 3 评论 -
C++ 标准库(STL)中的栈使用(stack)
#include<iostream>#include<string>#include<vector>#include<stack>using std::vector;using std::string;using std::stack;using std::cout;using std::endl;using std::cin;i...原创 2019-04-23 22:56:29 · 1402 阅读 · 0 评论 -
C++顺序容器2:定义及初始化
目录默认构造函数初始化列表初始化将一个容器初始化为另一个容器的拷贝方式1:直接拷贝整个容器方式2:拷贝一个由迭代器对(两个迭代器)指定的元素范围利用方式2来拷贝一个容器中的子序列顺序容器特有的,指定大小构造函数初始化格式:C c(n, t) // c中包含n个值为t的元素格式:C c(n) // c中包含n个值,每个值进行值初始化默认构造函数初始化...原创 2019-04-27 19:05:38 · 425 阅读 · 0 评论 -
有序序列二分搜索
#include<iostream>#include<string>#include<vector>using std::vector;using std::string;using std::cout;using std::endl;using std::cin;int main(){ vector<int> a{ 1,...原创 2019-04-17 22:13:06 · 191 阅读 · 0 评论 -
备考秋招
目录链表指针和引用(左值引用)左值和右值堆和栈堆栈溢出(stack overflow)new和malloc的区别面向过程与面向对象封装,继承,多态C与C++的区别Struct和class的访问权限staticC++中四种类型转换Vector扩容问题递增递减运算符链表1. 一旦找到插入点或删除点,就可以插入或删除,而不需要在内存中移动数...原创 2019-08-13 11:11:24 · 197 阅读 · 0 评论