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

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

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

Сложный макрос - C++

18.10.2012, 21:34. Просмотров 425. Ответов 5
Метки нет (Все метки)

Создать макрос buffer(n) который резервирует в памяти буфер емкостью n байтов и
при каждом обращении выдает адрес очередного байта или NULL, если буфер исчерпан.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 21:34     Сложный макрос
Посмотрите здесь:

Сложный макрос - C++
В книге была задача, написать макрос, определяющий массив типа Type, который называется Name, имеет Number элементов, и все элементы...

Если макрос на VBA переписать на С++, то макрос станет работать быстрее? - C++
Всем привет!) У меня есть макрос написанный в Екселе на VBA, если его переписать на С++ , то макрос станет работать быстрее? ...

Не сложный вопросик!!! - C++
В базовом классе перегрузил operator<<, затем в производном переопределил. Как при использовании указать что бы выполнялся operator<< из...

Сложный калькулятор - C++
Помогите написать калькулятор который читал бы такие выражения: 3+3/2 Саша1075517, не дублируйте темы.

Цикл сложный - C++
1. Элементы массива a(8) расположить в том массиве по убыванию. 2. Вычислить произведение матриц b(5*3) и c(3*6). Заранее вам большое...

посоветуйте - сложный ли код - C++
Допустим имеем текстовый файл .txt необходимо просчитать сколько существует пар слов в тексте, таких, что 1 слово из пары начинается с...

одномерные массивы и сложный поиск - C++
помогите пажалуста я не могу понять как создать и вывести масив Ук=sin(pow(x,2))*cos(pow(x,3))-sin(x)+5.2 с элементами к = 1,2...,7....

одновимерни массивы и сложный поиск - C++
помогите пажалуста я не могу понять как создать и вывести масив Ук=fabs(sin(x/3.12)+cos(pow(x,2)))-8.3*sin(3*x) с элементами к =...

Не будет ли каша в голове ? Си\С++ сложный ? - C++
Хотел научиться программировать на Си потом на Си++. Я знаю html\css и основы javascript! Параллельно я их развиваю и еще не давно начал...

Как правильно инициализировать сложный объект? - C++
Есть три класса: 1) point ->(double z, double y) 2) frame ->содержит CArray<point*,point*> 3) hull ->содержит CArray<frame*,frame*>...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Evg
Эксперт CАвтор FAQ
17533 / 5771 / 369
Регистрация: 30.03.2009
Сообщений: 15,872
Записей в блоге: 26
18.10.2012, 22:44     Сложный макрос #2
Если я правильно понял задание, то такое в чистом виде вроде бы как не реализуемо
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
19.10.2012, 10:16     Сложный макрос #3
Что-нибудь вроде.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <iostream>
 
int current = 0;
char* chbuf = 0;
char* pptr = 0;
 
#define buffer(n) \
if (!current) \
{ \
   chbuf = new char[(n)]; \
} \
pptr = 0; \
if (current != (n)) \
{ \
   pptr = chbuf + current; \
} \
++current;
 
int main()
{
   buffer(3);
   std::cout << (void*)pptr  << std::endl;
   buffer(3);
   std::cout << (void*)pptr << std::endl;
   buffer(3);
   std::cout << (void*)pptr << std::endl;
   buffer(3);
   std::cout << (void*)pptr << std::endl;
   delete[] chbuf;
}
http://liveworkspace.org/code/dd49e5...38acf5e8aec5ca
Evg
Эксперт CАвтор FAQ
17533 / 5771 / 369
Регистрация: 30.03.2009
Сообщений: 15,872
Записей в блоге: 26
19.10.2012, 10:54     Сложный макрос #4
Цитата Сообщение от ForEveR Посмотреть сообщение
Что-нибудь вроде
По большому счёту это полная хрень, поскольку внутри макроса используются переменные, которые определены вне тела макроса. Т.е. вместо макроса по-нормальному надо написать функцию. Хотя идиот, который такую задачу придумал, наверное этого не понимает
OhMyGodSoLong
19.10.2012, 10:58
  #5

Не по теме:

Цитата Сообщение от Evg Посмотреть сообщение
Хотя идиот, который такую задачу придумал, наверное этого не понимает
Это просто макросы препроцессора C++ ущербны и не позволяют вводить переменные ^^

Evg
Эксперт CАвтор FAQ
17533 / 5771 / 369
Регистрация: 30.03.2009
Сообщений: 15,872
Записей в блоге: 26
19.10.2012, 11:56     Сложный макрос #6
Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Это просто макросы препроцессора C++ ущербны и не позволяют вводить переменные ^^
Макрос к языку как таковому не относится (хотя является частью стандарта языка). Если бы в макросах были переменные, то это были бы переменные макроса, но не переменные языка
Yandex
Объявления
19.10.2012, 11:56     Сложный макрос
Ответ Создать тему
Опции темы

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