相关疑难解决方法(0)

为什么C++没有反射?

这是一个有点离奇的问题.我的目标是理解语言设计决策并确定C++中反射的可能性.

  1. 为什么C++语言委员会不会在语言中实现反思?对于不在虚拟机上运行的语言(如java),反射是否太难?

  2. 如果要实现C++的反射,那么挑战是什么?

我想反射的使用是众所周知的:编辑器可以更容易编写,程序代码更小,可以为单元测试生成模拟等等.但是,如果你也可以对反射的使用发表评论,那就太棒了.

c++ reflection

326
推荐指数
8
解决办法
5万
查看次数

访问变量值,其中变量名称存储在字符串中

对其他语言提出了类似的问题:C,sql,java等.

但是我想在R中这样做.

我有:

ret_series <- c(1, 2, 3)
x <- "ret_series"
Run Code Online (Sandbox Code Playgroud)

如何(1, 2, 3)x不直接提及的情况下调用某些函数/操作ret_series

variables r r-faq

53
推荐指数
3
解决办法
5万
查看次数

在C++中将变量名转换为字符串

我想将一些数据输出到文件中.例如假设我有两个双打向量:

vector<double> data1(10);
vector<double> data2(10); 
Run Code Online (Sandbox Code Playgroud)

是否有一种简单的方法将其输出到文件,以便第一行包含标题'data1'和'data2',后跟实际内容.输出数据的函数将传递各种不同的数组,因此不可能硬编码标题的名称 - 理想情况下,我想将变量名称转换为某个字符串,然后输出该字符串,后跟向量数组的内容.但是,我不确定如何将变量名'data1'转换为字符串,或者确实如果它可以很容易地完成(从阅读论坛我的猜测是不可以)如果这是不可能的替代可能是使用关联容器(如map)或更简单的"对"容器.

pair<vector<double>,string> data1(10,'data1');  
Run Code Online (Sandbox Code Playgroud)

欢迎大家提出意见!

c++ string variables map std-pair

24
推荐指数
3
解决办法
4万
查看次数

将字符串转换为变量名称或变量类型

是否可以通过执行以下操作将字符串转换为变量(反之亦然):

makeVariable("int", "count");
Run Code Online (Sandbox Code Playgroud)

要么

string fruit;
cin >> fruit;    // user inputs "apple"
makeVariable(fruit, "a green round object");
Run Code Online (Sandbox Code Playgroud)

然后能够通过执行以下操作来访问它:

cout << apple; //a green round object
Run Code Online (Sandbox Code Playgroud)

提前致谢!

c++ string

15
推荐指数
4
解决办法
5万
查看次数

如何在C++中使用字符串作为变量名?

可能重复:
将字符串转换为变量名称或变量类型

如何在c ++中将字符串值用作变量名

string listName = "hari";
string vectorName = "BF_vector_"+listName;
vector<string> vectorName;

vectorName.push_back("Some Value");
Run Code Online (Sandbox Code Playgroud)

如何使用vectorName的字符串值("BF_vector_hari")作为向量的变量名.提前致谢.

c++

5
推荐指数
2
解决办法
1万
查看次数

C++使用字符串访问变量

假设我有一个包含6组的结构bbox,其中每组包含4个向量.我可以使用bbox.set1.vect1.push_back(foo)添加一个vector元素.但是,我正在从文件中读取数据,而我正在寻找一种将数据存储在向量中的优雅方法.使用带有索引i(1到6)和k(1到4)的double for()循环我尝试了以下(使用字符串连接):

string test1 = "bbox.set";
string test2 = ".vect";
string fin = test1 + to_string(i) + test2 + to_string(k);
fin.push_back(val);
Run Code Online (Sandbox Code Playgroud)

虽然代码编译得很好,但似乎没有任何事情发生.明确地写bbox.set1.vect1.push_back(foo)确实有效.这可以这样做吗?在另一个主题中,我读过C不支持在运行时更改/创建变量名,但在这里我只是尝试访问现有变量.

c++

1
推荐指数
1
解决办法
110
查看次数

如何在C++中使用字符串或char来按名称标识变量?

我的意思是,我如何使用我可以迭代的char来识别变量?因此,如果:

int cheese = 1337;
string identifier = "cheese";
Run Code Online (Sandbox Code Playgroud)

如何使用此字符串"identifier"来标识变量cheese并返回其值?

c++

0
推荐指数
1
解决办法
66
查看次数

标签 统计

c++ ×6

string ×2

variables ×2

map ×1

r ×1

r-faq ×1

reflection ×1

std-pair ×1