普通智能指针是一种C++中用于自动管理动态内存的对象。它可以记录指向动态内存的原始指针并在其生命周期结束时自动释放动态内存。普通智能指针有三种类型:unique_ptr、shared_ptr和weak_ptr。其中,unique_ptr表示“独占式拥有”,shared_ptr表示“共享拥有”,weak_ptr表示弱引用。普通智能指针的使用可以有效减少内存泄露和悬垂指针的出现。