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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Не выводится матрица http://www.cyberforum.ru/cpp-beginners/thread1122875.html
не выводится матрица и a не равно 1, то есть поток не работает #include <process.h> #include <stdio.h> #include <iostream> #include <Windows.h> #include <conio.h> using namespace std;
C++ Определить количество положительных и количество отрицательных элементов до первого нуля. Найти ошибку в коде В маcсиве A(n) (n<=7) хотя бы один элемент ноль. Определить количество положительных и количество отрицательных элементов до первого нуля! Вот код, только неправильно что-то: #include <iostream> #include <string> #include <math.h> using std::cout; using std::cin; using std::endl; http://www.cyberforum.ru/cpp-beginners/thread1122872.html
C++ Найти наименьший элемент матрицы
Привет помогите найти ошибку. Найти наименьший элемент матрицы X (m*n) и записать нули в ту строку и столбец, где он находится. Вот код: #include <iostream> using namespace std; int main() {
Вычисления с комплексными числами C++
Собственно вот формула: y2=\frac{-u+v}{2}+i\frac{\sqrt{3}(u-v)}{2} Все данные известны кроме i. Как мне объяснили это комплексное число. Как прописать это в С++?
C++ Переставить элементы массива так, чтобы сначала располагались все нули, затем все двойки и, наконец, все единицы http://www.cyberforum.ru/cpp-beginners/thread1122833.html
Добрый день ! У меня к вам просьба. Помогите решить задачу по с++ начинающему чайнику. :wall: Задача. В массиве A(N) каждый элемент равен 0, 1 или 2. Переставить элементы массива так, чтобы сначала располагались все нули, затем все двойки и, наконец, все единицы (дополнительного массива не заводить).
C++ Получить третий массив C[15] по правилу: вначале элементы первого массива, затем элементы второго массива Даны массивы A, B. Нужно получить третьи массив C состоящий: вначале элементы первого массива, затем элементы второго массива. подробнее

Показать сообщение отдельно
dalay_lama
 Аватар для dalay_lama
65 / 65 / 7
Регистрация: 22.09.2012
Сообщений: 434
18.03.2014, 16:43     Можно ли определить const без ее инициализации и почему?
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), т.е. без учёта отрицательных чисел, эта часть чисел, которая приходилась на отрицательные, прибавляется к положительным и получается, что при беззнаковом типе можно представить число в двое большее.
Ну как-то так. Надеюсь получилось объяснить.
 
Текущее время: 14:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru