79553514

Date: 2025-04-03 16:34:38
Score: 0.5
Natty:
Report link
namespace PPP {

    using Unicode = long;

    // ------- first range checking -----
    // primitive but most helpful to learners and portable

    template<class T> concept Element = true;

    PPP_EXPORT template <Element T>
        class Checked_vector : public std::vector<T> {  // trivially range-checked vector (no iterator checking)
        public:
            using std::vector<T>::vector;

            T& operator[](size_t i)
            {
                std::cerr << "PPP::vector::[]\n";
                return this->std::vector<T>::at(i);
            }

            const T& operator[](size_t i) const
            {
                std::cerr << "PPP::vector::[] const\n";
                return this->std::vector<T>::at(i);
            }
            //  ...
    }; // range-checked vector
Reasons:
  • Long answer (-0.5):
  • Has code block (-0.5):
  • Self-answer (0.5):
  • Low reputation (1):
Posted by: Bossplayaxvii