能否用memset实例化一个类?[已解决]


我所了解的:
函数原型:void *memset(void *s,int c,size_t n)
作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。
深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘memset(a, '/0', sizeof(a));

所以能否实例化一个类呢?( 如果能,望大神们给出一小段代码)

全部评论
不只是有虚函数的类,,这个要看类是不是POD类型,mem*的函数只能初始化POD类型。。
点赞 回复
分享
发布于 2017-09-02 10:02
有虚函数的类的的对象,前四个字节是一个指针指向虚函数表。如果用memset显然不行啊。
点赞 回复
分享
发布于 2017-09-02 09:41
联想
校招火热招聘中
官网直投
memset那叫初始化。。。。有虚函数的类你肯定没法用memset初始化,因为你不知道虚函数地址。c语言里面的结构体可以用,那么把c语言中的结构体直接放到c++中,把struct改成class,再加上public放在开头,这个类就可以用memset初始化。总之,c++中类没必要用memset初始化,他本来就有构造函数,但是某些简单的类可以这么干,没说错吧😄
点赞 回复
分享
发布于 2017-09-02 09:45

相关推荐

头像
不愿透露姓名的神秘牛友
03-13 10:56
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务