#pragma twice
От: Кодт Россия  
Дата: 22.07.14 23:41
Оценка: 37 (10) :))
http://users.livejournal.com/_winnie/433617.html?view=5691601

Если коротко: gcc для #pragma once использует не путь к файлу, а его атрибуты (размер и время) и содержимое.
Это он так борется с проблемой алиасов.
  Undefined! Undefined!
// a.h
#pragma once
x++;

// b.h
#pragma once
x++;

// main.cc
int main()
{
  int x = 0;
#include "a.h"
#include "b.h"
  return x;
}

Если a.h и b.h имеют одинаковое время, то x=1, иначе x=2.


Более подробно — см. жж winnie.
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.