Unity学习记录3-String字符串的截取,分割,格式化
Unity学习记录3-String字符串的截取,分割,格式化 一、字符串的截取 语法: 变量名=欲截取变量名.Substring(开始位置,长度); 注意:字符串上的位置从0开始 示例: 1234567private string str01;public string str02;str01 = "Sakura and Sakura";//字符串赋值str02 = str01.Substring(0, 6);//字符串截取//str02结果为Sakura 二、字符串的分割 语法: 字符串数组名=欲分割字符串.Split(’标志字符‘); 注意:分割为取标志字符左右,标志字符会被忽略 示例: 123str01 = "Sakura and Sakura";//字符串赋值public string[] strarry;strarry = str01.Split('a');//字符串分离 运行结果: 三、字符串的格式化 示例: 12a += Time.deltaTime;texter02.text =...
Unity-各种小技巧
一、片段——使代码更加美观 visual studio里通过选择代码片段 -> 右击 -> 片段 -> region 可以插入片段,为代码分块 123#region int int a=0;#endregion
C++学习记录-数据结构-链表
C++学习记录-数据结构-链表 当要按顺序储存一大组数据,且要随时往里面增减数据,此时数组就显得不方便,用链表则会快很多 链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多 代码实现: 1.创建链表结构体 12345struct data { int dat;//用于储存数据 data* next=NULL;//用于指向下一个数据}; 2.定义用于指示的变量 1234567int num = 0;//定义一个整形变量用于计算链表中数据的数量int dat;//用于录入数据struct data* head=NULL;//定义一个头指针指向链表的第一个数据struct data* point =...
C++学习记录-模板-类模板与友元问题
C++学习记录-模板-类模板与友元问题 **一、全局函数类内实现:**直接实现即可 123456789101112131415161718template<class T1>class chara { friend void printinfo(chara<T1> p) { cout << p.name << endl; } //全局函数类内实现private: T1 name;public: chara(T1 nam) { name = nam; }}; 二、全局函数类外实现:应使用前向声明,让编译器提前知道类和函数的存在 123456789101112131415161718192021222324252627282930313233//前向声明template<class T1>class chara;//声明有一个类模板template<class T1>void printinfo(chara<T1>...
C++学习记录-模板-类模板分文件编写
C++学习记录-模板-类模板分文件编写 一、 类模板使用分文件编写时,由于类模板的成员函数创建时机是在调用阶段,会导致分文件链接不到 解决方法: 直接包含.cpp文件 将类模板的声明和实现写在同一个文件,命名为”.hpp“(约定俗成的),并且包含 二、示例: 创建一个头文件: 12345678910111213#pragma once#include<iostream>using namespace std;template<class T1>class chara {public: T1 name;public: chara(T1 nam);}; 创建一个.cpp文件: 12345678#include"chara.h"template<class T1>chara<T1>::chara(T1 nam){ name = nam; cout << name <<...
C++学习记录-模板-类模板成员函数类外实现
C++学习记录-模板-类模板成员函数类外实现 类模板的成员函数类外实现时,在指定作用域时也要使用类模板 示例: 123456789101112131415template<class T1>class chara {public: T1 name;public: chara(T1 nam);};//类外实现template<class T1>chara<T1>::chara(T1 nam){ name = nam;}
C++学习记录-模板-类模板的继承问题
C++学习记录-模板-类模板的继承问题 当使用类模板的类作为父类时,其子类要指定出数据类型,否则编译器无法为子类分配内存空间。其方法有: 指定数据类型 子类也使用类模板 示例: 创建一个父类: 12345678910111213template<class T1,class T2>class chara {public: T1 name; T2 age;public: chara(T1 aname, T2 aage) { name = aname; age = aage; }}; 1.指定数据类型: 1class person :public chara<string,int> {}; 2.子类也使用类模板: 12template<class T1, class T2 >class person :public chara<T1,T2> {};
C++学习记录-模板-类模板对象做函数参数
C++学习记录-模板-类模板对象做函数参数 类模板实例化出来的对象作为参数向函数传参,有三种方式: 直接指定传入类型 将对象中的参数模板化 类模板化(将整个对象所在的类模板化) 示例: 创建一个类: 12345678910111213template<class T1,class T2>class chara {public: T1 name; T2 age;public: chara(T1 aname, T2 aage) { name = aname; age = aage; }}; 1.直接指定传入类型: 1234void printinfo1(chara<string,int>&p){ cout << p.name << " " << p.age;} 2.参数模板化: 12345template<class T1,class T2>void printinfo2(chara<T1,...
C++学习记录-数据结构-队列与栈
C++学习记录-数据结构-队列与栈 一、队列 队列是一种先进先出的线性结构。在它的头部只允许进行出队(删除)操作,在它的尾部只允许进行入队(插入)操作,即“先进先出”。 具体操作: 1.定义一个数组arr 2.定义一个int head=0,指向数组第一位 3.定义一个int tail=0,指向数组第一位(此时数组为空队列) 4.入队,arr[tail]=x;tail++ 5.出队,即head++ 当head=tail时,队列为空队列 代码示例:解密QQ号 给一串数字,先将第1个数删除,再将第2个数放到末尾,将第3个数删除,再将第4个数放到末尾…直到最后一个数,将最后一个数删除。最后把删除的数按顺序连在一起即为所求QQ号 分析:删除即为出队操作,放到末尾即为出队后入队操作 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#include<iostream>using namespace std;char...
C++学习记录-面向对象-虚继承:解决菱形继承问题
C++学习记录-面向对象-虚继承:解决菱形继承问题 当发生菱形继承时,即有两个子类都是继承自一个基类,再有一个类继承自上述两个子类时,会发生基类的成员被继承多次,不仅浪费存储空间;还存在二义性问题 **示例:**son1和son2都继承自base类,而gson继承自son1和son2: 12345678910111213141516class base {public: int a;};class son1 :public base {};class son2 :public base {};class gson :public son1, public son2 {}; 此时对gson的成员进行复制: 12gson s;s.a = 8; 会发生:1>D:\Work\C艹练习\练手\Project1\Project1\源.cpp(24,6): error C2385:...






