При разработке публичного API, хорошей практикой сделать конструктор явным? < /p>
class A {
public:
//explicit A(int i){}
A(int i){}
};
void fun(const A& a) {}
int main() {
// If I use explicit for A constructor, I can prevent this mistake.
// (Or shall I call it as feature?)
fun(10);
}
< /code>
Или я должен разрешить неявное преобразование, чтобы позволить пользователю вызвать мой API с меньшим количеством печати? < /p>
Подробнее здесь: https://stackoverflow.com/questions/371 ... r-explicit