zoukankan      html  css  js  c++  java
  • [转载]C++中 使用数组作为map容器VAlue值的解决方法

    1)是用Vector容器代替数组

    2)使用数组指针(需要注意局部变量的问题,指针是否需要用new创建)

    int red [ 3 ]   = { 1 , 0 , 0 }; 
    int green [ 3 ] = { 0 , 1 , 0 }; 
    int blue [ 3 ]     = { 0 , 0 , 1 }; 
    std
     :: map < int , int (*)[ 3 ]> colours ; 
    colours
     . insert ( std :: pair < int , int (*)[ 3 ]>(( GLUT_LEFT_BUTTON ,& red )); 
    colours
     . insert ( std :: pair < int , int (*)[ 3 ]>(( GLUT_MIDDLE_BUTTON ,& blue )); 
    colours
     . insert ( std :: pair < int , int (*)[ 3 ]>(( GLUT_RIGHT_BUTTON ,& green )); 
    //Watch out for scope here, you may need to create the arrays on the heap.

    3)使用结构体来构造代替数组的元素,或把数组直接放在结构体内

    struct Triple 
    { 
        
    int color [ 3 ]; 
    }; 

     
     //Later in code 
    Tripple red = { 1 , 0 , 0 }, green = { 0 , 1 , 0 }, blue = { 0 , 0 , 1 }; 
    std
     :: map < int , Triple > colours ; 
    colours
     . insert ( std :: pair < int , Triple >(( GLUT_LEFT_BUTTON , red )); 
    colours
     . insert ( std :: pair < int , Triple >(( GLUT_MIDDLE_BUTTON , blue )); 
    colours
     . insert ( std :: pair < int , Triple >(( GLUT_RIGHT_BUTTON , green ));

  • 相关阅读:
    虚函数&纯虚函数&抽象类&虚继承
    指针的各式定义
    开源站点
    WCF、Net remoting、Web service概念及区别
    asp.net 分布式应用开发
    C++多重继承二义性解决
    ATL7窗口类详细剖析
    Code review
    GitHub 上100个最受欢迎的Java基础类库
    JAVA基本类库介绍
  • 原文地址:https://www.cnblogs.com/RealOnlyme/p/2538044.html
Copyright © 2011-2022 走看看