各位大侠,不生有一问题正迷糊着呢??望高人指点.比如一个变量,CString test;未赋值.变量的名字(test)是通过计算而得的.
代码如下:
....
CString paraname;
paraname="test";
....现在想作的是,如何通过对变量paranamer的操作,对test变量赋值.请各位高人指点. 

解决方案 »

  1.   

    做不到,变量名只是编程时为了识别不同变量而取的名字,编译后运行时将不复存在。你在程序中这样搞没有任何意义!运行期间是找不到“test”这个变量的。
      

  2.   

    弄个map,将变量名与变量建立联系?
      

  3.   

    定义个结构,将变量名称与实际变量联系起来
    typedef struct aaa
    {
        vartype   b;
        CString paraname;
    }bb;
    在所有的结构中查中bb.paraname == paraname的结构,对变量赋值。
      

  4.   

    呵呵,其实质就是找到 变量名与变量的映射关系!
    当然,这种映射需要你自己实现。
    1、
    if语句判断
    if(paraname=="test")……
    2、定义结构体或者类
    class aaa
    {
        vartype*   b;
        CString paraname;
        ……
    }
    找到合适的类变量,设置和取出b
    3、map4、参见IDispatch的Invoke函数