Re: [achtung] cast указателя к bool
От: Alexander G Украина  
Дата: 28.05.20 05:14
Оценка: 15 (3)
Здравствуйте, Коваленко Дмитрий, Вы писали:

КД>Реально стрёмно.


Классика, но да, с этим string_view примером новый повод наступить.

Наткнулся на похожее, когда NULL заменить на nullptr, начинает вызываться строковая версия.
(При этом, так получалось, что в месте, где NULL, нужна была именно булочная перегрузка)

Примерно так реконструировать можно для этого примера:
#include <iostream>
#include <vector>

class TVAR
{
public:
    explicit TVAR(bool               /*v*/) { std::cout << "TVAR: bool\n"; }
    explicit TVAR(const std::string_view& /*v*/) { std::cout << "TVAR: std::string_view\n"; }
};

int main()
{
    std::vector<TVAR> vec;

    vec.emplace_back(NULL); // bool
    vec.emplace_back(nullptr); // string_view
}
Русский военный корабль идёт ко дну!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.