У стандартных функций сигнатуры не фиксированы, поэтому брать их адреса смысла мало.
Там фиксируется только "форма вызова", поэтому реализация вольна добавлять дополнительные параметры со значениями по-умолчанию, или объединять несколько функций в одну и т.д.
R>У стандартных функций сигнатуры не фиксированы, поэтому брать их адреса смысла мало.
R>Там фиксируется только "форма вызова", поэтому реализация вольна добавлять дополнительные параметры со значениями по-умолчанию, или объединять несколько функций в одну и т.д.
R>
Не фиксированы означает зависящие от реализации. Я понимаю "it is illegal" как undefined behaviour, а не непереносимый код, поэтому и интересуюсь, есть ли более явные запреты взятия адреса.
R>У стандартных функций сигнатуры не фиксированы, поэтому брать их адреса смысла мало. R>Там фиксируется только "форма вызова", поэтому реализация вольна добавлять дополнительные параметры со значениями по-умолчанию, или объединять несколько функций в одну и т.д.
Это справедливо только для member functions и не распростроняется на virtual/global/non-member (17.4.4.4/2). Плюс 17.4.4.3/3:
A global or non-member function cannot be declared by the implementation as taking additional default arguments.
People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird (c) D.Knuth