|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
10.02.2011, 14:24 | #1 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Препроцессор: определение длины строки
в общем как от препроцессора взять длину строки?
по типу: #LENGTH(L"123") Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.02.2011, 14:28 | #2 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Зачем это понадобилось, если не секрет?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
10.02.2011, 14:32 | #3 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
создание быстрого макроса для сохранения строки с известной длиной(константу например можно считать таковой)
чтоб по возможность обходится без strlen Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.02.2011, 15:09 | #4 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Разве умный компилятор не заинлайнит strlen?
upd: а, понятно, то есть строка известна на момент компиляции, то есть посчитать достаточно во время компиляции...
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
10.02.2011, 15:37 | #5 |
C++ hater
СтарожилДжуниор
Регистрация: 19.07.2009
Сообщений: 3,333
|
sizeof("123") - 1 же, не?
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
10.02.2011, 15:58 | #6 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Да, такое на этапе компиляции сработать должно.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
10.02.2011, 17:14 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
получается значит
#AddString(x) AddBytes(x,sizeof(x)); Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
10.02.2011, 19:21 | #8 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
А зачем такая оптимизация понадобилась? И почему бы не использовать inline-функции?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
10.02.2011, 20:40 | #9 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Пепел Феникса: от размера 1 отнимать надо, там ведь ноль ещё
Код:
Последний раз редактировалось netrino; 10.02.2011 в 21:12. |
10.02.2011, 20:47 | #10 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
Я к тому, что зачем вообще в наше время использовать подобные макросы? Для строк и пр. Почему бы не static const char* и т.п.?
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вычисление длины строки | Agafon | Microsoft Office Word | 12 | 17.11.2010 15:43 |
Обработка строк:определение длины строки | DidT33rus | Помощь студентам | 6 | 14.05.2010 11:43 |
Строки неизвестной длины в си | abr_question | Общие вопросы C/C++ | 18 | 22.01.2010 00:26 |
Динамические массивы, определение/задание его длины | Paul Hindenburg | Общие вопросы C/C++ | 1 | 31.05.2009 12:21 |
определение длины динамич. массива | Романнн | Общие вопросы Delphi | 3 | 11.03.2008 18:48 |