c++进阶

  1. std::vector 定义长度可变的数组
    1. 一维数组
    2. 二维数组
  2. argc,argv
  3. 函数指针
    1. 一般函数指针
    2. 类的成员函数指针
      1. 静态成员函数
      2. 一般成员函数
  4. 向.txt文件写入数据

std::vector 定义长度可变的数组

一维数组

std::vector<std::string> str;
str.push_back("ur5e_");
str.push_back("test1");

for (int i=0;i<str.size();i++){
    std::cout<<str[i]<<" ";
}
std::cout<<std::endl;
//str.size() 用于获取数组长度 

二维数组

std::vector<std::vector<int> > vec(1);   //指定行数
vec[0].resize(2);    //指定列数
vec[0][0]=2;
vec[0][1]=1;
for(int i=0;i<vec.size();i++) {
    for (int j = 0; j < vec[0].size(); j++) {
        std::cout << vec[i][j] << " ";
    }
    std::cout << std::endl;
}

argc,argv

int main(int argc, char *argv[]){
    //argc 命令行变量的数量,argv命令行变量的数组
}

函数指针

一般函数指针

#定义一个函数
void test(int a){
    std::cout<<"a的值为:"<<a<<std::endl;
}
int main(){
    void (*test1)(int) = &test;   //指针test1指向函数test的地址
    (*test1)(1);
    //test1(1)   也可以
}

类的成员函数指针

静态成员函数
class shownum{
public:
    //定义静态成员函数
    static void shown(int a)
    {
        std::cout<<"a的值为:"<<a<<std::endl;
    }

}

int main(){
    //类的静态成员函数指针,不指定作用域
    void(*test)(int) = &shownum::showm;  
    (*test)(3);
    //test(3);   也可以
 }
一般成员函数
class shownum{
public:
    void shown(int a)
    {
        std::cout<<"a的值为:"<<a<<std::endl;
    }

}

int main(){
    void(shownum::*test)(int) = &shownum::showm; 
    shownum d; 
    (d.*test)(3);    //调用时*test就相当于shownum::showm
    //shownum *d =new shownum;
    //(d->*fun)(55);
 }

向.txt文件写入数据

std::ofstream fp;
fp.open("./data.txt",std::ios::app);     //文件名  追加写入
if(!fp.is_open()){
std::cout<<"打开文件失败!!\n";
}
fp<<f[0]<<"\n";    //写入数据
fp.close();

文章标题:c++进阶

本文作者:Echo

发布时间:2021-04-14, 16:53:37

最后更新:2021-09-13, 19:51:51

原始链接:http://dmzecho.github.io/2021/04/14/c++%E8%BF%9B%E9%98%B6/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录