С туплом вообще не понял
1. explicit CData(double)?
Ой нет, там тысячи др вызовов где нужен implicit. Да и в данном он вполне "в масть", напр
C++ (Qt)
BuildNode(desc_REAL, name, false, 1.0);
Очень популярный вызов, и оборачивать в CData не тянет (реальное имя там подлиннее). А перенос в конец - не вижу чем лучше
2. Если не охота создавать отдельную структуру для этого, то может std::pair<QString, bool> подойдет?
Да, что-то "почти макруха", но как оформить? Не писать же всякий раз
C++ (Qt)
BuildNode(desc_REAL, std::pair<QString, bool>(name, false), 1.0);
Нужно короткое имя - какое? (затрудняюсь придумать)