da67 писал(а):Source of the post
He все, атолько те, у которых имя и количество аргументов совпадёт c написанным в макросе. Такими конечно придётся пожертвовать. Остальные будут нормально работать.
Теперь понял, я думал нужно сделать чтобы все конструкции такого вида заменялись.
da67 писал(а):Source of the post
Насколько я помню, теги структур не конфликтуют c именами объектов. Про такое обычно говорят, что они в разных пространствах имён. Например объявлениеникаких проблем не вызовет.Код: Выбрать все
struct u{int u;}u;
Это ясно, просто в C++ есть оператор namespace(вспомните легендарное using namespace std; из первого урока ).
Hea, как пример- спайсинг. Сначала пишем код в массив, a потом его выполняем(правда выполняет другой процесс, но это уже мелочи ). Есть две сферы, где "правила хорошего тона" никого не волнуют- это безопасность и низкоуровневое программирование.
Кстати, для любителей массивов c единицы(в принципе и c любого числа), можно делать так:
Код: Выбрать все
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
void wmain(void)
{
int*a=(int*)malloc(10*sizeof(int));//Выделяем память
if(!a)//проверяем всё ли хорошо
return;//если плохо, то выходим
for(int i=0;i<10;i++)//заполняем массив
a[i]=i+1;
a--;//меняем индекс первого элемента
//==============================
printf("%i\n%i",a[1],a[10]);
//==============================
a++;//в конце возвращаем всё на место
free(a);//освобождаем память
getch();
return;
}
По-моему это в одной из статей Криса Касперски было, но у него их столько, что фиг её теперь найдёшь .