Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
magomed6290
0 / 0 / 0
Регистрация: 18.11.2013
Сообщений: 11
#1

Можно ли определить const без ее инициализации и почему? - C++

18.03.2014, 16:11. Просмотров 370. Ответов 1
Метки нет (Все метки)

1.можно ли определить const без ее инициализации и почему??
2. почему без знаковые типы данных допускают увеличение диапозона предстовляемых или положительных значений??.

в инете не нашел ответов
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2014, 16:11     Можно ли определить const без ее инициализации и почему?
Посмотрите здесь:

Почему при инициализации данных программа работает быстрей? C++
Почему в функцию можно передавать аргументы с амперсандом или без него и результат тот же самый? C++
Почему прога может зависать при инициализации массива C++
Как написать конструкторы копирования, инициализации и конструктор без аргументов? C++
При отладке программы вылетает окошко с ошибкой: использование переменной без инициализации C++
C++ Почему при инициализации строки, сначала создаётся пустой объект?
Определить, можно ли из сторон составить треугольник (без конструкции ветвления) C++
C++ Разница в определении конструкторов со списком инициализации и без него
C++ При инициализации массива в отладке не попадаю в обработчик, поясните почему?
C++ Почему при изменении литерала const char* программа падает?
В чём разница в конструкрукторе со списком инициализации и без оного C++
Ошибка исполнения, переменная использована без инициализации C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 440
18.03.2014, 16:43     Можно ли определить const без ее инициализации и почему? #2
1) const без инициализации объявить нельзя. const - означанет константа. Определение: константа - величина, значение которой не меняется; в этом она противоположна переменной. После объявления константы, её значение изменить нельзя(как например переменной), т.е. такое не прокатит:
C++
1
2
3
4
const int n;//здесь компилятор тебя пошлёт курить бамбук
//...
//далее где-то в программе сделать такую запись уже нельзя будет
n = 5;//фигушки!
поэтому нужно всегда её инициализировать при созданни, т.к. потом значение нельзя подставить. Незнаю даже как это ещё можно объяснить, элементарная вещь же. Как это можно было не найти в интернете?

2) возьмём на примере. Прикиним, что тип int занимает 32 бита. 2^32 это 4294967296. Т.е. 32-мя битами мы можем приставить 4294967296 чисел, но, т.к. нам ещё нужно представлять и отрицательные числа(знаковые), нужно это число разделить на 2(т.е. пополам, половину на отрицательные, половину на положительные) получаем: 2147483648. В итоге у нас получился такой промежуток чисел от -2147483648 до 2147483648 которое может представить переменная типа int. Соответственно, если мы возьмём беззнаковый тип(unsigned int), т.е. без учёта отрицательных чисел, эта часть чисел, которая приходилась на отрицательные, прибавляется к положительным и получается, что при беззнаковом типе можно представить число в двое большее.
Ну как-то так. Надеюсь получилось объяснить.
Yandex
Объявления
18.03.2014, 16:43     Можно ли определить const без ее инициализации и почему?
Ответ Создать тему
Опции темы

Текущее время: 08:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru