google AJAX Libraries API обходит ту же политику источника?

Правила избежать коллизии имен находятся оба в стандарте C++ (см. книгу Stroustrup), и упомянул гуру C++ (Sutter, и т.д.).

Персональное правило

, поскольку я не хотел иметь дело со случаями и хотел простое правило, я разработал персональный то, которое и просто и корректно:

При именовании символа, Вы избежите коллизии с библиотеками компилятора/ОС/стандарта если Вы:

  • никогда не запускаются, символ с подчеркиванием
  • никогда не называют символ с двумя последовательными подчеркиваниями внутри.

, Конечно, помещая Ваш код в уникальное пространство имен помогает избежать коллизии, также (но не защитит от злых макросов)

Некоторые примеры

(я использую макросы, потому что они - более загрязняющие код из символов C/C++, но это могло быть что-либо от имени переменной до имени класса)

#define _WRONG
#define __WRONG_AGAIN
#define RIGHT_
#define WRONG__WRONG
#define RIGHT_RIGHT
#define RIGHT_x_RIGHT

Извлечения из C++ 0x проект

От n3242.pdf файл (я ожидаю, что заключительный стандартный текст будет подобен):

17.6.3.3.2 Глобальных набора [global.names]

Certain имен имен и функциональных подписей всегда резервируются к реализации:

— Каждое имя, которое содержит двойное подчеркивание _ _ или начинается с подчеркивания, сопровождаемого прописной буквой (2.12), резервируется к реализации для любого использования.

— Каждое имя, которое начинается с подчеркивания, резервируется к реализации для использования в качестве имени в глобальном пространстве имен.

, Но также и:

17.6.3.3.5 Пользовательских литеральных Литерала суффиксов [usrlit.suffix]

снабжают суффиксом идентификаторы, которые не запускаются с подчеркивания, резервируются для будущей стандартизации.

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

13
задан Cesar 23 July 2009 в 11:00
поделиться

3 ответа

HTML может загружаться откуда угодно, это еще один скрипт , работающий на странице, который не может получать документы из другого источника.

18
ответ дан 1 December 2019 в 22:58
поделиться