Összerakott változónév

 ( Duri | 2007. július 3., kedd - 17:05 )

Sziasztok!
Arra lennék kiváncsi, hogy meg lehet -e csinálni C++ -ban azt, hogy egy változónevet összerakjak így:

változónév = alapnév + egy szám

Ha igen, akkor hogyan?

Köszönöm: Zsolt

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Nem.
Hasznalj tombot/vectort/akarmi mast.

hali, ilyesmire gondoltal?

#include <iostream>

using std::cout;

#define NEV(a,b)        ab

int main() {
        int a = 3;
        int NEV(nev,a) = 1;
        cout << NEV(nev,a) << '\n';
        NEV(nev,a)++;
        cout << NEV(nev,a) << '\n';
        return 0;
}

/* bocs az esetleges helyesirasi hidakert */

Ezt te sem gondoltad komolyan :)

1. NEV(akararmi, barmi) lecserelodik ab -re, te erre gondoltal :
#define NEV(a, b) a##b

2. Ez semmivel nem jobb, most igy NEV(nev, a) lecserelodik neva -ra,
de semmikepp nem nev3-ra. Sot nem is lehet lecserelni nev3 -ra.

A macrok forditasi idoben ertekelodnek ki (egyszeru szovegcsere modon)
a valtozoknak futasi idoben van erteke.
==
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.

ja eszrevettem en is, most akartam szerkeszteni
csak kaptam egy szep "hozzaferes megtagadva"-t :)

/* bocs az esetleges helyesirasi hidakert */

Bocsi :)
==
`Have some wine,' the March Hare said in an encouraging tone.
Alice looked all round the table, but there was nothing on it but tea.

az igazsag mindenek elott :))
/* bocs az esetleges helyesirasi hidakert */

Hogyne lehetne!

A program visszanyúl a forrás_fájlba, kicseréli a változó nevet,
lefordítja az új programot, majd az új programnak átadja a
vezérlést. Természetesen gondoskodni kell a változók átadásáról,
a megfelelő vezérlésátadásról (belépési pont), stb.

(-::

> Sol omnibus lucet.

http://ukai.jp/Software/livepatch

"livepatch" is just a small userland program which provides functionalities
of dynamic loading and overwriting on-memory code & data in a running process.

Mint a régi szép időkben, amikor overlay technikával töltöttük
be az egyes menüpontokat (-::

> Sol omnibus lucet.