Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 26

Возможно ли построить динамическую строку кода?

31.07.2009, 00:29. Показов 1274. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Суть в том, чтобы код содержал кусок, который мог бы изменятся в зависимости от желания программы. Этот вопрос решён в Java Script функцией eval.
Собственно к этому вопросу я пришёл когда мне требуется вытащить из переменной моего класса, которая состоит скажем из 3 значений int, одно из этих значений по запросу пользователя. Case'ом пользоваться не хочу, точнее не то что не хочу скорее просто из соображений универсальности.

А вопрос в чём собственно.. Возможно ли это в с++? и как это реализуется?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
31.07.2009, 00:29
Ответы с готовыми решениями:

Возможно ли организовать с сервера динамическую подкачку данных в форму?
Необходимо: 1. через setTimeout() регулярно скачивать кусочек кода с сервера. 2. через document.write() запихивать его в форму. В...

Построить динамическую модель в переменных состояния
Вот условие задачи. Честно говоря, я даже не нагуглил подобного. Или совсем уже не соображаю .. Подскажите пожалуйста, как делать или с...

Сформировать динамическую строку
Сформировать динамическую строку с звеном-заголовком, вывести его на печать, проверить, входит ли в него цифры "1" и...

10
MCSD: APP BUILDER
 Аватар для IT_Exp
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
31.07.2009, 00:31
Возможно ли это в с++?
невозможно.
1
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 26
31.07.2009, 00:36  [ТС]
Хорошо. Тогда меняем направление темы. Как нибудь можно обойти эту ситуацию?
Задача такова:
существует переменная моего класса такого вида:
c->a=123;
c->b=432;
c->v=876;
и программа получает переменную с именем того что надо выбрать из класса в формате String. И моя задача выловить из с значение скажем b.
Это вообще реально? или придётся довольствоваться функцией case?
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
31.07.2009, 00:41
Цитата Сообщение от AlexzundeR Посмотреть сообщение
Как нибудь можно обойти эту ситуацию?
что значит обойти? пройтись по значениям a и b?
0
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 26
31.07.2009, 00:44  [ТС]
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
что значит обойти? пройтись по значениям a и b?
Нет нет. я заранее не знаю что мне надо вытащить оттуда. в отдельный момент мне надо вытащить из с a в другой из с v.
А возможно ли получить имя переменной в виде строки? т.е если я работаю с с->v то получить её имя как "v" не используя опять же case?
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
31.07.2009, 00:59
нет. для вашего случая (насколько я понял) необходимо работать тогда с массивом указателей на необходимый вам типы данных. иначе никак.
0
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
31.07.2009, 01:00
AlexzundeR, вместо кейсов используйте иф
1
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 26
31.07.2009, 01:02  [ТС]
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
нет. для вашего случая (насколько я понял) необходимо работать тогда с массивом указателей на необходимый вам типы данных. иначе никак.
Не могли бы вы по подробнее изложить свою мысль?)

Цитата Сообщение от M128K145 Посмотреть сообщение
AlexzundeR, вместо кейсов используйте иф
Спасибо посмеялся)
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
31.07.2009, 01:07
такое? или я неправильно понял ваш вопрос..
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
#include <map>
 
class Employee{
public:
    Employee(int x = 0, int y = 0): a(x), b(y) {}
    int a;
    int b;
};
int main()
{
    Employee v1(10,15);
    std::map<std::string, int*> map;
    map["a"] = &v1.a;
    map["b"] = &v1.b;
 
    std::cout << *map["a"] << '\n' << *map["b"] << '\n';
    return 0;
}
0
1 / 1 / 0
Регистрация: 31.07.2009
Сообщений: 26
31.07.2009, 01:14  [ТС]
Цитата Сообщение от ISergey Посмотреть сообщение
такое? или я неправильно понял ваш вопрос..
прошу прощения за откровенную тупку, но не могли бы вы функцию main расписать в каментах? просто билдер не захотел кушать код.. что там с настройками..


Осообенно с 13 по 17 строки)
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
31.07.2009, 01:23
Цитата Сообщение от AlexzundeR Посмотреть сообщение
просто билдер не захотел кушать код..
блин не компилятор, а барахло.. http://codepad.org/ - здесь тестируйте.
Цитата Сообщение от AlexzundeR Посмотреть сообщение
но не могли бы вы функцию main расписать в каментах
былоб шо расписовать.. std::map std::string
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.07.2009, 01:23
Помогаю со студенческими работами здесь

Определить, возможно ли строку преобразовать в число, и, если возможно, то в какое, целое или вещественное
Дана строка. Если она представляет собой запись целого числа, то вывести 1, если вещественного (с дробной частью) — вывести 2; если строку...

Построить динамическую структуру данных (граф), показанную на рисунку
Помогите, пожалуйста, нужно: Построить динамическую структуру данных (граф), показанную на рисунку.Тип информации поля указать...

Как в crontab сделать динамическую строку?
привет. Мне необходимо каждый день копировать файл с сервака. Добавляю в крон команду 00 00 * * * scp...

Чтение всего файла в одну динамическую строку
Здравствуйте! Искал на форуме ответ на свой вопрос, нашел кучу похожих тем, но никак не смог сделать то, что мне нужно. Задача состоит в...

Как в классе реализовать динамическую расширяемую строку?
1)Когда учил динамические массивы, многое недопонял. Вот к примеру в учебных примерах зачастую дают пользователю самому назначить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru