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

Различия между #define и const - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Модуль расчёта пространственного заряда http://www.cyberforum.ru/cpp-beginners/thread209978.html
Модуль расчёта пространственного заряда PIC-методом для ячеек конечно-разностной схемы и CIC-методом для конечно-разностной ячейки. Исходные данные: 1) Координаты и размеры ячеек-параллелепипедов. 2) Набор трубок тока в виде последовательностей отрезков прямой с заданными параметрами: – координаты концов отрезков; – распределение заряда на каждом отрезке. может кто-нибудь с талкивался?
C++ Матрица... Ни в какую не могу понять... как в борланде решить задачку... На делфи могу написать а в борланде хоть убейте ни в какую... Ктонить помогите сделать.. если что подкину на пивко. Дана матрица D(n,n).Найти номера строк элементы в каждой из которых одинаковы... http://www.cyberforum.ru/cpp-beginners/thread209976.html
вывод максимального числа которое повторяется больше одного раза. C++
Здравствуйте.... Вот программа которая работает, но меня смущает что я не знаю как прописат что если чисел повторяющих в массиве не будет то нучно чтоб он выдал что нету типо повторения... как это записать. #include "stdafx.h" #include <iostream> #include <math.h> #include <clocale> #include <time.h> #include <stdlib.h> int r, gr; // r - размерность массива; ans - ответ на вопрос; gr -...
C++ Множественное пересечение массивов
Помогите пожалуйста написать программу.... срочно надо.... Дано: N массивов целых чисел, содержащих по M элементов. Результат: массив чисел, принадлежащих одновременно всем массивам
C++ Одномерный массив http://www.cyberforum.ru/cpp-beginners/thread209948.html
Помогите написать программу, пожалуйста!!!!!!!!!! В программе должна быть организована работа с одномерным массивом. Занести в массив сведения о количестве осадков, выпавших за ка-ждый из 12 месяцев одного года. Определить общее количество осадков за этот год, среднемесячное количество осадков, количест-во засушливых месяцев (когда количество осадков было меньше 30 мм), самый засушливый месяц...
C++ В заданной матрице определить максимальный и минимамльный элементы помогите это нужно очень срочно нужно составить программу которая: в заданной матрице определить максимальный и минимамльный элементы. Переставить местами строки содержащие их подробнее

Показать сообщение отдельно
rangerx
1918 / 1527 / 139
Регистрация: 31.05.2009
Сообщений: 2,886
13.12.2010, 19:06     Различия между #define и const
Цитата Сообщение от Escapable Посмотреть сообщение
Собственно вопрос: в чем различия и что лучше использовать?
В C++ всегда следует отдавать предпочтение const. const это часть C++, и в отличии от #define подчиняется правилам языка(например "знает", что такое область видимости; её имя известно компилятору, в то время как от #define после препроцессирования останется только "магическое число").
Цитата Сообщение от RUSya82 Посмотреть сообщение
#define - директива препроцессора, осуществляет замену в тексте программы на этапе компиляции
На этапе компиляции все макросы уже раскрыты.
Цитата Сообщение от ForEveR Посмотреть сообщение
Слабо через const?
В C++ нет никакого смысла писать подобные макросы, во-первых есть inline функции, во-вторых у подобых макросов имеются побочные эффекты, например:
C++
1
2
3
int a = 4;
std::cout << SQUARE(++a) << std::endl;
std::cout << a << std::endl
Цитата Сообщение от asics Посмотреть сообщение
+ в том что такие макросы, могут принимать в качестве параметров не только целечисленные переменый, а й числа з плавающой запятой.
В C++ для этих целей используются шаблоны. И опять же, у подобной функии(макроса) та же проблема, что и выше.
 
Текущее время: 04:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru