wyswietlanie nazwy zmiennej

0

napisalem sobie taki oto programik ktory wyswietla typ zmiennej

#include<iostream>
#include<typeinfo.h>

using namespace std;

void main()
{
	char napis[22];
	cin>>napis;
	cout<<" to jest typ "<<typeid(napis).name()<<" "<<napis;
}

chcialbym sie dowiedizec czy da sie napisac program tak zeby na podobnej zasadzie wyswietlal nazwe zmiennej??

0

nie

0

Da się...

0

w ogólnym wypadku nie da się. chociaż zawsze możesz zrobić za pomocą preprocesora taką namiastkę:

#define v2string(x) #x

int main() {
   float var;
   cout << v2string(var) << endl;
   }

działa to tak, że
v2string(jakis tekst tam sobie)
jest zamieniany na:
"jakis tekst tam sobie"

P.W: jak "da się..." to napisz proszę ;)

0

v2string(var)
No nawet namiastką bym tego nie nazwał, już lepiej napisać od razu "var" ;)
W ogóle nazwa zmiennej nie ma zastosowania jako łańcuch. Nie można zarządzać pulą zmiennych, zawsze posługujemy się jedną konkretną zmienną i zawsze możemy napisać jej nazwę w apostrofach lub bez.

Makro byłoby sensowne jedynie jeśli oprócz zamieniania nazwy na łańcuch robiłoby coś jeszcze z tą nazwą, np:

#define PrintNameAndVal(x) cout << #x"=" << x
int main() {
   float var;
   PrintNameAndVal(var);
   }

1 użytkowników online, w tym zalogowanych: 0, gości: 1