![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| null56 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
Хотел поинтересноваться следующей темой, существует ли возможность создать строковую константу во время компиляции состоящую из других строковых констант, поясню чего хочу...
У меня есть имя тега, которое я использую в парсере, но так же это имя хочу использовать в создание xml файла, но получается, что я дублирую код и изменяя одно, приходится изменять другое, что мне не совсем по душе... собственно код
видно из кода, что константы практически одинаковые и изменив переменную TagName, я должен менять переменные OpenTagName и CloseTagName, что не очень хорошо. Я хочу попросить об этом компилятор, примерно, чего хочу добиться, выглядит в примере ниже, который, ЕСТЕСТВЕННО НЕ СКОМПИЛИТСЯ
Пример выше, замечу, лишь показывает чего я хочу от компилятора, но не знаю, как граммотно это сделать и возможно ли такое, поэтому обращаюсь за помощью... Использование строк из библиотеки stl, которые будут в какой - нибудь функции создавать нужные тега, меня не интересуют, вопрос именно по примеру выше... Заранее благодарен всех откликнувшихся |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
не до конца понял требования, но в любом случае, если нужнa манипуляция со строками на этапе компиляции, то надо прибегать к помощи препроцессора.
вот пример , приспосабливайте под свои условия :
Это сообщение отредактировал(а) mes - 25.5.2009, 17:26 |
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
mes, то что надо, спасибо.... с макросами мало работал
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Без макросов:
|
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 2 Всего: 12 |
math64, ну это уже исполняемый код, тоже самое, что и со стрингами можно сделать, но без new
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Без исполняемого кода - только макросы. Но без new можно обойтись.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |