簡體   English   中英

字符串值是一個 int 指針的名稱

[英]String Value is the name of an int pointer

struct token{ string type; string value;};

//Global variables:
int reg[10]={-1,...,-1};
int* R0 = reg;

... down in some func...
cout<< *(R0)<< endl;//OUTPUTs -1
int valInR0= *reinterpret_cast<int*>(&token.value) //contains string "R0"

問題是我有一個結構體,它有一個名為 value 的字符串成員來存儲不同的名稱,當我嘗試從字符串中取出 int 指針的名稱時,我無法弄清楚如何使它引用回int 指針並取消引用其值。

在上面的例子中,從我的結構中取出字符串 val "R0" 然后使用它來訪問 int *RO 是我試圖完成但沒有成功的事情。

謝謝你的回答,我決定操作這個名字,所以如果 R5 被存儲,我會撕掉 R,將 5 存儲在一個 int 中,然后可以使用它作為偏移量來訪問像*(reg+5) ,像這樣:

int val = (token.value[1]-ASCII);// ASCII is 48 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM