c++提高教程 模板
行码阁119
这个作者很懒,什么都没留下…
展开
-
C++t 提高教程 STL vector容器-vector基本概念
# include<iostream>#include<vector># include<string>using namespace std;void printVector(vector<int>& v){ for (vector<int>::iterator it = v.begin(); it != v.end(); it++) { cout << *it <<...原创 2021-10-13 09:42:39 · 102 阅读 · 0 评论 -
C++ 提高教程 STL-string字串
# include<iostream># include<string>using namespace std;void test01(){ string str1 = "Hello"; string subStr = str1.substr(1, 3); cout << "subStr:" << subStr << endl;}void test02(){ string email = "Zhangsan@...原创 2021-10-13 09:20:24 · 95 阅读 · 0 评论 -
C++ 提高教程 STL -String 字符串删除和存取
# include<iostream># include<string>using namespace std;void test01(){ string str1 = "Hello"; cout << "str1:" << str1 << endl; str1.insert(1, "111"); cout << "str1:" << str1 << endl; str1.eras...原创 2021-10-12 12:03:36 · 187 阅读 · 0 评论 -
C++提高教程 STL-string字符存取
# include<iostream># include<string>using namespace std;void test01(){ string str1 = "Hello"; cout << "str1:" << str1 << endl; for (int i = 0; i < str1.size();i++) { cout << str1[i] << endl; }...原创 2021-10-12 11:59:36 · 87 阅读 · 0 评论 -
C++ 提高教程 STL-字符串对比
# include<iostream># include<string>using namespace std;void test01(){ string str1 = "Hello"; string str2 = "Hello"; if (str1.compare(str2) == 0) { cout << "str1等于str2" << endl; }}int main(){ test01(); system(...原创 2021-10-12 11:54:22 · 107 阅读 · 0 评论 -
C++提高教程 STL -String查找和替换
# include<iostream># include<string>using namespace std;//查找void test01(){ string str1 = "abcdefg"; str1.find("df"); int pos = str1.find("df"); cout << "pos==" << pos << endl; //rfind int pos1 = str1.rfind("de...原创 2021-10-12 11:49:09 · 132 阅读 · 0 评论 -
C++ 提高教程 STL -string字符串拼接
# include<iostream># include<string>using namespace std;//string字符串拼接void test01(){ string str1 = "我"; str1 += "爱玩游戏"; cout << str1<< endl; str1 += ":"; cout << "str1 =" << str1 << endl; string st...原创 2021-10-12 11:35:04 · 1138 阅读 · 0 评论 -
C++提高教程 STL -string赋值操作
# include<iostream>using namespace std;//string赋值操作void test01(){ string str1; str1 = "hello world"; cout << "str1:" << str1 << endl; string str2; str2 = str1; cout << "str2:" << str1 << endl; st...原创 2021-10-12 11:20:53 · 205 阅读 · 0 评论 -
C++ 提高教程 STL-构造函数
# include<iostream># include <string>using namespace std;//string的构造函数void test01(){}int main(){ string s1 = "abc";//默认构造 const char* str = "hello world"; string s2(str); cout << "s2:"<<s2 << endl; str...原创 2021-10-12 10:43:26 · 118 阅读 · 0 评论 -
C++ 提高教程 模板 -类模板案列
1 MyArray.hpp//自己的 同用的数据类#pragma once# include <iostream>template<class T>class MyArray{public: MyArray(int capacity) { //cout << "MyArray有参函数调用" << endl; this->m_Capacity = capacity; this->m_Size = 0; ...原创 2021-10-11 17:32:55 · 120 阅读 · 0 评论 -
C++ 提高教程 模板-类模板与友元
# include<iostream># include<string>using namespace std;//通过全局函数 打印person//template<class T1, class T2>//class Person//{// //加上friend之后的printPerson一个没有在类外声明,直接在类内进行实现的一个类外函数// friend void printPerson(Person<T1, T2> P...原创 2021-10-11 14:14:46 · 97 阅读 · 0 评论 -
C++ 提高教程 -模板 类模板分文件编写
第一种解决方式,直接包含源码类模板中的成员函数一开始不会创建的,当包含.h的时候,相当于把一下代码给编译器看着了# include<iostream>using namespace std;template<class T1, class T2>class Person{public: Person(T1 name, T2 age); void showPerson(); T1 m_Name; T2 m_Age;};看着代码后,不会生成Pe...原创 2021-10-12 10:27:15 · 272 阅读 · 0 评论 -
C++ 提高教程 模板-类外实现
# include<iostream># include<string>using namespace std;template<class T1, class T2>class Person{public: Person(T1 name, T2 age); //{ // this->m_Name = name; // this->m_Age = age; //} void showPerson(); //{ // ...原创 2021-10-11 11:18:53 · 94 阅读 · 0 评论 -
C++ 提高教程 模板-类模板雨继承
# include<iostream>using namespace std;template<class T>class Base{ T T_m;};//class Son :public Base//错误,必须要知道父类中T的类型,才能继承给子类class Son :public Base<int>{};void test01(){ Son t;}//如果想灵活的指定父类中T类型,子类也需要变类模板template&...原创 2021-10-11 11:05:42 · 86 阅读 · 0 评论 -
C++ 提高教程 模板-类模板中成员函数创造时机
# include<iostream>using namespace std;class Person1{public: void showPerson1() { cout << "Perosn1 show" << endl; }};class Person2{public: void showPerson2() { cout << "Perosn2 show" << endl; }};...原创 2021-10-11 10:02:19 · 105 阅读 · 0 评论 -
C++ 提高教程 -模板 类模板与函数模板区别
# include<iostream># include<string>using namespace std;//1、类模板没有自动类型推导的使用方式//2、类模板在模板参数列表中可以有默认参数template<class NameType,class AgeType>class Person{public: Person(NameType name, AgeType age) { this->m_Name = name;...原创 2021-10-11 09:46:19 · 108 阅读 · 0 评论 -
C++ 提高教程 模板-模板的局限性
模板的通用性不是万能的# include<iostream>using namespace std;class Person{public: Person(string name, int age) { this->m_Name = name; this->m_Age = age; } string m_Name; int m_Age;};//模板的局限性//模板不是万能的,有些特定数据类型,需要用具体化方式做特殊实现//对比原创 2021-10-10 22:39:43 · 99 阅读 · 0 评论 -
C++ 提高教程 模板-普通函数与函数模板调用规则
# include<iostream>using namespace std;//普通函数与函数模板那调用规则//1、如果函数模板课普通函数都可以调用,优先调用普通函数//2、可以通过空模板参数列表 强制调用 函数模板//3、函数模板可以发生函数重载//4、如果函数模板可以发生更好的匹配,优先调用函数模板void myPrite(int a, int b){ cout << "/调用普通函数" << endl;}template<ty...原创 2021-10-10 22:03:23 · 122 阅读 · 0 评论 -
C++ 提高教程 模板-普通函数雨函数模板区别
# include<iostream>using namespace std;//普通函数与函数模板区别//1、普通函数调用可以发生隐式模板类型转换//2、函数模板 用自动类型推导, 不可以发生隐式类型转换//3、函数模板 用显示指定类型,可以发生隐式模型转换//函数模板template<typename T>T Add(T a, T b){ return a + b;}//普通函数int myAdd(int a, int b){ re...原创 2021-10-10 21:45:08 · 96 阅读 · 0 评论 -
C++ 提高教程 函数模板-函数模板案列
# include<iostream>using namespace std;//实现通用的对数组数据进行排序//规则从大到小//算法 选择//测试 char 数组、int 数组template<typename T>void myswap(T& a, T& b){ T temp = a; a = b; b = temp;}//排序算法template<typename T>void mySort( T ar...原创 2021-10-10 21:30:33 · 82 阅读 · 0 评论 -
C++ 提高教程 函数模板注意事项
# include<iostream>using namespace std;//1、函数模板注意事项template<typename T> //tempname可以替换为classvoid mySwap(T& a, T& b) { T temp = a; a = b; b = temp;}//1、自动类型推导,必须推导出一致的数据类型T才可以使用void test01(){ int a = 10; int b = 2...原创 2021-10-10 21:09:01 · 98 阅读 · 0 评论 -
C++ 提高教程 模板-函数模板和类模板
void func(int a)# include<iostream>using namespace std;void swapInt(int& a, int& b){ int temp = a; a = b; b = temp;}//交换两个浮点型函数void swapDouble(double& a, double& b){ double temp = a; a = b; b = temp;}//函数模板tem...原创 2021-10-10 20:51:12 · 96 阅读 · 0 评论 -
C++提高编程-模板的概念
原创 2021-10-10 20:28:28 · 94 阅读 · 0 评论