Re[27]: Книжка по UB
От: rg45 СССР  
Дата: 14.08.25 10:45
Оценка:
Здравствуйте, so5team, Вы писали:

S>PS. Для разнообразия чуть измените конструктор s1:

S>
S>struct s1 {
S>  virtual void f() { std::cout << "s1::f" << std::endl; }

S>  s1() {
S>    call_f();
S>  }

S>  void call_f();
S>};

S>// Где-то совсем в другом месте, возможно даже в другой единице трансляции.
S>void s1::call_f() {
  this->>f(); // (3)
S>}
S>

S>У нас теперь нет точки (1) в которой компилятор что-то точно знает.
S>Зато есть точка (3), которая на разных путях к call_f приводит к разному наблюдаемому поведению.

Ну, ладно, сдаюсь

Хотя, может же и проинлайнить
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.