一、gcnew与new的区别
C /CLI中使用gcnew关键字表示在托管堆上分配内存,并且为了和以前的指针区分,用^来替换* ,就语义上来说他们的区别大致如下:
1. gcnew返回的是个句柄(Handle),而new返回的是实际的内存地址.
2. gcnew创建的对象由虚拟机托管,而new创建的对象必须自己来管理和释放.
二、fflush(stdin)
清空输入缓冲区,通常是为了确保不影响后面的数据读取(例如在读完一个字符串后紧接着又要读取一 个字符,此时应该先执行fflush(stdin);)
三、scanf()与getChar()的区别
前者没有'/0'结尾符,而后者有。
二、strcpy_s与strcpy
前者属于系统安全函数,是以字节为单位的参数,它用来确认缓冲区大小。
strcpy没有方法来保证有效的缓冲区尺寸,所以它只能假定缓冲足够大来容纳要拷贝的字符串。