第一、源于C++语言的设计理念。
这个语言它本身是想通过一系列的规则,去克服C语言由于语法规则不清导致的运行错误。这一下就难倒了初学者。他们在学到泛型编程时,就会觉得编译过去太费劲,被众多的条条框框卡死,想要正常进行下去,就必须按照语法规则,但是这些个规则细节却是又多又散,干了好多年C++的程序员仍旧会对一些规则感到陌生,更不要提初学者。
第二、源于C++语言的更新速度。
这门语言的更新速度非常快,本身一直都在快速的进化中,所以对于不停升级的语言,程序员就必须要不断的去学习它,但是并不是说学习就有收获,有时候可能是在白费力气。当你在费了九牛二虎之力终于掌握了一些语法细节的时候,却发现更新完成的新C++中,已经不用这些语法了。
第三、源于C++ 也是可以操作指针。
本身泛型编程就是比较难的,加上C++也是可以操作指针,更是加大了它的复杂性。极力追求既要求性能的极大优化,又要求编程模式灵活的极致化,就导致C++的负担的沉重。