Что означает «однократное представление времени выполнения» в описании Bjarne Stroustrup стирания типа на «языке програмC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Что означает «однократное представление времени выполнения» в описании Bjarne Stroustrup стирания типа на «языке програм

Сообщение Anonymous »

In The C++ Programming Language - 4th edition, in §25.3 at page 731-732 Bjarne Stroustrup shows a possible implementation of a Vector template class that's been specialized for all T* template arguments in order to share a single implementation (given that all pointers have the same size):

Код: Выделить всё

template
class Vector { // general vector type
T* v;
int sz;
public:
…
};
< /code>
template
class Vector : private Vector { // partial specialization
public:
using Base = Vector;

Vector() {}
explicit Vector(int i) : Base(i) {}

T*& elem(int i) { return reinterpret_cast(Base::elem(i));
T*& operator[](int i) { return reinterpret_cast(Base::operator[](i)); }
};
< /code>
Затем он пишет (на стр. 733, прямо перед §25.3.1): < /p>

Варианты метода использования  Однократное представление времени < /strong> для значений ряд типов и навсегда навстречу (STATIC), чтобы они использовались в соответствии с их использованием, что они использовались в соответствии с их использованием. Erasure .

Я не уверен, что полностью понимаю выбор терминологии, в частности, часть, которую я выделял жирным шрифтом: я понимаю, что  function , база :: operator [] 
написан для кода машины и используется всеми попытками называть оператор [] int) . Для любого t , но я не понимаю, что означает «однократное представление времени выполнения» , особенно если я думаю о других случаях использования стирания типа C ++, например, std :: any : как может использоваться

Подробнее здесь: https://stackoverflow.com/questions/797 ... -descripti
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»