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

Использование имени макроса в обычных условиях - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция проверки возраста по дате рождения из string http://www.cyberforum.ru/cpp-beginners/thread1302670.html
Здравствуйте, есть строка вида: Имя День Месяц Год Valera 15 6 1987 Задача состоит в том чтобы написать функцию для проверка больше или равно человеку 20 лет. Если Да вернуть true, нет false. Алгоритм вроде как простой, но реализовать никак не получается, помогите пожалуйста... Вот код нужной функции: bool moreThen(string userRecord)
C++ Написание 2d игр Здравствуйте. Хочу начать писать элементарные 2д игры(арканоиды, что-то похожее на space inviders, etc...) До этого писал консольный лабиринт и по сути всё. Так вот, посоветуйте, на что мне стоит обратить внимание в первую очередь? Какие библиотеки нужны для подобного рода деятельности ? P.S возможно подобная тема уже была, но ответа на вопрос я в ней так и не нашёл(прошу прощение за... http://www.cyberforum.ru/cpp-beginners/thread1302660.html
Почему функция atanh работает неправильно? C++
Задание http://content-15.foto.my.mail.ru/mail/megabayt_m/_answers/i-359.jpg Кусок кода for (double X = Xn; X <= Xk; X += dX) { n = 0; sum = 0; y = 0; do { y = 1 / ((2 * n + 1)*pow(X, (2 * n + 1)));
Запись в файл и возможность его редактирования C++
задание: напишите программу которая запрашивает у пользователя имя, фамилию, дату рождения, номер группы и записывает данные в файл. программа должна осуществлять поиск по полученному файлу с возможностью редактирования отдельных данных пользователя программа когда то работала сейчас почему то нет(((( Код C++ #include<stdio.h> #include<conio.h> #include<math.h> #include<iostream> #define...
C++ Замена нескольких пробелов подряд на один http://www.cyberforum.ru/cpp-beginners/thread1302637.html
Visual Studio 13. Надо заменить пару пробелов подряд на один. Использовать putchar и getchar, или gets_s и puts, без указателей и всего прочего. Вот мой код, заменяет только по одному символу ' ' по-порядку на '*'. Как заменить один символ на другой знаю а как пару подряд нет.Помогите или объясните как это сделать. #include "stdafx.h" #include <iostream> using namespace std;
C++ Нужно написать код для интеграла Вот самое задание. Извините что на укр, но надеюсь на вашу помощь. Я новичёк в этом деле, так что не судите строго. П.С. На завтра нужно Задачу нужно переписывать в сообщение! Язык форума - русский! Личные ссылки запрещены. подробнее

Показать сообщение отдельно
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2779 / 1425 / 393
Регистрация: 18.10.2014
Сообщений: 2,620
17.11.2014, 05:29     Использование имени макроса в обычных условиях
Цитата Сообщение от Izual Посмотреть сообщение
Как использовать такие имена макросов
Не совсем понимаю, зачем вам это нужно. Все макросы - константы времени компиляции, поэтому если они и употребимы в рамках обычных логических, арифметических или каких других выражений выражений, они все равно должны "сокращаться" компилятором. Иногда это бывает нужно, но очень редко.

В любом случае, использовать в обычных выражениях можно только макросы, которые всегда определены и всегда замещаются на какое-то значение. Например, '_MSC_VER' как раз такой макрос. Никто вам не запрещает писать прямо в коде

C++
1
2
3
4
5
6
if (_MSC_VER >= 1300)
{
}
else
{
}
хоть для '_MSC_VER' в этом и нет особого смысла (лучше было воспользоваться '#if'). 'RAND_MAX', 'INT_MAX', 'CHAR_BIT' и т.п. как раз такие макросы.

Что же касается макросов типа '_WIN64', то они используются по другому: они либо определены, либо не определены. Если макрос не определен, то использование его в обычном коде приведет просто к ошибке. Т.е. такие макросы никакого более-менее осмысленного применения в "обычном" коде не имеют.
 
Текущее время: 11:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru