Не удалось установить set_new_handler [duplicate]

Вы можете добавить метки привязки. Я использую это на своем сайте http://www.piano-chords.net/ , чтобы отслеживать с помощью Google Analytics, что люди посещают на странице. Я просто добавляю тег привязки, а затем часть страницы, которую я хочу отслеживать.

  var trackCode = "/ #" + urlencode ($ ("myDiv"). Text ());  window.location.href = "http://www.piano-chords.net" + trackCode;  pageTracker._trackPageview (trackCode);   

8
задан Shafik Yaghmour 16 September 2014 в 19:36
поделиться

2 ответа

Проект draft C ++ standard говорит в разделе 5.3.4 Новый абзац 9 , что если новое выражение не начинать с ::, тогда он просматривается в области их типа сначала, а затем, если не найден глобально:

Если новое выражение начинается с унарного :: оператора, распределение имя функции отображается в глобальной области. В противном случае, если выделенный тип является типом класса T или его массивом, имя функции распределения просматривается в области T. Если этот поиск не находит имя или если выделенный тип не является типом класса, распределение имя функции отображается в глобальной области

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

Тот факт, что функции распределения элементов неявно статичны, рассматривается в разделе 12.5 Свободный магазин :

Любая функция распределения для класса T является статическим членом (даже если явно не объявлено статическим).

5
ответ дан Shafik Yaghmour 15 August 2018 в 17:11
поделиться

Все операторы неявные. Вам не обязательно использовать оператор области видимости для всех других операторов.

Подумайте, насколько это было бы неприятно:

int a = 4 int::operator* 6;

И именно поэтому они сделали это так.

Кроме того, все операторы анализируются в лексической обработке кода. Значение этих литералов может быть определено пользователем:

В разделе 2.14.8 обсуждаются литералы:

Пользовательский литерал рассматривается как вызов литерала оператор или буквенный шаблон оператора (13.5.8). Чтобы определить форму этого вызова для данного пользовательского литерала L с ud-suffix X, идентификатор литерала-оператора, чей литеральный идентификатор суффикса есть X, просматривается в контексте L, используя правила для поиска неквалифицированных имен ( 3.4.1). Пусть S - множество объявлений, найденных этим поиском. S не будет пустым.

1
ответ дан Yochai Timmer 15 August 2018 в 17:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: