不大清楚啦,其实只要不写一些怪异的代码(如struct a {;};此空结构体在gcc和g++中分别运用sizeof(a);得出的结果分别是0和1,之主要是编译器的编译规则不同导致),都是可以的,g++只是界别更高一些,对数据类型的要求更高一些,不会帮你进行默认的数据类型转换,是什么类型就是什么类型,而gcc则可以帮你进行一些默认的转换,或者是给你警告信息,而g++会直接给你报错。我的理解
你说的是CL吧,那是微软的编译器,g++是GNU的编译器。
GNU的编译器是免费的,而且是很符合国际标准的,微软的有些不是很符合标准。