Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
12.07.2017, 18:02
|
|||
|---|---|---|---|
|
|||
Invalidate variable |
|||
|
#18+
Есть ли в С++/GCC способ объявить переменную невалидной с тем, чтобы любое обращение к ней в последующем коде вызывало ошибку компиляции? Для случаев типа такого: Код: sql 1. 2. 3. 4. 5. 6. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.07.2017, 18:08
|
|||
|---|---|---|---|
Invalidate variable |
|||
|
#18+
Dimitry Sibiryakov, Слишком частный случай. А как быть в случае вызывающей стороны, там-то x можно будет присвоить любой переменной после вызова. Да и вообще, копий этого указателя может быть овер 9000 в разных частях кода, так что вылавливать такой частный случай смысла нет. Но никто не запрещает тебе в GCC подключить какой-нибудь linter и в него уже наконфигать своих правил. Но это будет ооочень геморно. В LLVM с этим проще, имея полный доступ к IR коду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.07.2017, 18:56
|
|||
|---|---|---|---|
|
|||
Invalidate variable |
|||
|
#18+
Все уже сделано до нас )) Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.07.2017, 19:12
|
|||
|---|---|---|---|
Invalidate variable |
|||
|
#18+
Dimitry Sibiryakov, С маленькой областью видимости испрользовать. С большой - переименовать. Все ошибки заменить на п.А. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.07.2017, 19:21
|
|||
|---|---|---|---|
Invalidate variable |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
12.07.2017, 20:34
|
|||
|---|---|---|---|
|
|||
Invalidate variable |
|||
|
#18+
Dimitry Sibiryakov, макросами можно, если локально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2017, 06:02
|
|||
|---|---|---|---|
Invalidate variable |
|||
|
#18+
Dimitry SibiryakovЕсть ли в С++/GCC способ объявить переменную невалидной с тем, чтобы любое обращение к ней в последующем коде вызывало ошибку компиляции? Для случаев типа такого: Код: sql 1. 2. 3. 4. 5. 6. прямого аналога в с++ нет Но, можно переменную заключить в блок (фигурные скобки), тогда вне блока она не будет видна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2017, 09:56
|
|||
|---|---|---|---|
Invalidate variable |
|||
|
#18+
Dimitry Sibiryakov, если надо "спрятать" параметр функции, можно сделать внутренний блок и там объявить переменную с тем же Ирин именем, но с другим типом, не совместимым с типом переменной старой функции. например, void* ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.07.2017, 11:38
|
|||
|---|---|---|---|
Invalidate variable |
|||
|
#18+
Dimitry Sibiryakovв последующем коде вызывало ошибку компиляции?тогда только шаблонами. По аналогии с: Код: plaintext 1. 2. maytonА зачем это? Удобно же. Ты ловишь ошибку на момент компиляции, а не когда уже на эксепшн наступил. И это уже дело случая, если тестами не покрыто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=57&mobile=1&tid=2018127]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 296ms |
| total: | 585ms |

| 0 / 0 |
