• c++------智能指针,tuple多元数组


    #include <algorithm>
    #include <iostream>
    #include <functional>
    #include <vector>
    #include <numeric>
    #include <array>
    #include <cstring>
    #include <cstdio>
    #include <windows.h>
    #include <memory>
    using namespace  std;
    void cmem()
    {
        while (1)
        {
            double * p = new double[1024 * 1024 * 4];
            Sleep(3000);
            double p;
        }
    }
    void autoptr()
    {
        while (1)
        {
            double * p (new double[1024 * 1024 * 4]);
            auto_ptr<double> autop(p);//创建智能指针,接管这片内存,自动回收
            Sleep(3000);
            double p;
        }
    }
    void autoptrnew()
    {
        while (1)
        {
            Sleep(3000);
            unique_ptr<double> autop(new double[1024*1024*10]);//创建智能指针,接管这片内存,自动回收
            Sleep(3000);
            double p;
        }
    }
    //智能指针,内存泄漏,自动管理
    
    int main()
    {    
        
        //cmem();
        autoptr();//智能指针,自动释放
        autoptrnew();//实现高效数据管理
        system("pause");
    }
    #include <algorithm>
    #include <iostream>
    #include <functional>
    #include <vector>
    #include <numeric>
    #include <array>
    #include <cstring>
    #include <cstdio>
    #include <windows.h>
    #include <memory>
    using namespace  std;
    void cmem()
    {
        while (1)
        {
            double * p = new double[1024 * 1024 * 4];
            Sleep(3000);
            double p;
        }
    }
    void autoptr()
    {
        while (1)
        {
            double * p (new double[1024 * 1024 * 4]);
            auto_ptr<double> autop(p);//创建智能指针,接管这片内存,自动回收
            Sleep(3000);
            double p;
        }
    }
    void autoptrnew()
    {
        while (1)
        {
            Sleep(3000);
            unique_ptr<double> autop(new double[1024*1024*10]);//创建智能指针,接管这片内存,自动回收
            Sleep(3000);
            double p;
        }
    }
    //智能指针,内存泄漏,自动管理
    
    int main()
    {    
        
        //cmem();
        autoptr();//智能指针,自动释放
        autoptrnew();//实现高效数据管理
        system("pause");
    }

    C++ tuple类型:

    tuple是C++11新标准里的类型。它是一个类似pair类型的模板。pair类型是每个成员变量各自可以是任意类型,但是只能有俩个成员,而tuple与pair不同的是它可以有任意数量的成员。但是每个确定的tuple类型的成员数目是固定的。

    1.tuple的简单使用

    当我们希望将一些不同类型的数据和成单一对象时,可能大家会想到结构体(类),tuple是一种比结构体来的更加方便的类型 
    tuple的简单使用实例:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include<iostream>
    //定义在此头文件下
    #include<tuple>
     
    using namespace std;
     
    int main(void)
    {
        tuple<int,int,float> tp(1,2,3.1);
     
        cout<<"第一个元素为:"<<get<0>(tp)<<endl;
        cout<<"第二个元素为:"<<get<1>(tp)<<endl;
        cout<<"第三个元素为:"<<get<2>(tp)<<endl;
     
        return 0;
    }

    2.tuple所支持的操作

    操作说明
    make_tuple(v1,v2,v3,v4…vn) 返回一个给定初始值初始化的tuple,类型从初始值推断
    t1 == t2 当俩个tuple具有相同数量的成员且成员对应相等时
    t1 != t2 与上一个相反
    get(t) 返回t的第i个数据成员
    tuple_size::value 给定了tuple中成员的数量

    3、g++ 编译器报错不是std对象时,要在后面加上 -std=c++11

         对接nosql数据库。

    #include <algorithm>
    #include <iostream>
    #include <functional>
    #include <vector>
    #include <numeric>
    #include <array>
    #include <cstring>
    #include <cstdio>
    #include <windows.h>
    #include <memory>
    #include <tuple>
    using namespace  std;
    //多元数值,存取不同的数据类型
    int main()
    {
        char ch = 'x';
        short sh = 12;
        int num = 12345;
        double db = 123.4;
        char*p = "hello";
        tuple<char, short, int, double, char*> mytuple(ch,sh,num,db,p);
        //int i = 1;
        //auto autov = get<i>(mytuple);//不行,需要常量,需要加const
        //cout << autov << endl;
        auto autov = get<0>(mytuple);
        cout << autov << endl;
        auto autov1 = get<1>(mytuple);
        cout << autov1 << endl;
        auto autov2 = get<2>(mytuple);
        cout << autov2 << endl;
        auto autov3 = get<3>(mytuple);
        cout << autov3 << endl;
    
        auto autov4 = get<4>(mytuple);
        cout << autov4 << endl;
        //for (auto i:mytuple)//唯一一个不能用auto的
    }
  • 相关阅读:
    性能测试流程
    登录时获取验证码
    xpath在谷歌下的安装教程
    浏览器驱动安装
    Python3.3+Selenium3.0框架实战Web自动化测试实战
    selenium+python+unittest实现自动化测试(入门篇)
    python 3 的环境搭建Robot Framework
    canvas
    学习webpack
    开始学习typescript
  • 原文地址:https://www.cnblogs.com/bwbfight/p/11301567.html
Copyright © 2020-2023  润新知