Dear gnu: Here is code: #include <vector> #include <iostream> #include <cstring>
class segment_fault { std::string str; int a; float *b = nullptr; }; int main() { std::vector<segment_fault> segments; segment_fault sf; memset(&sf,0,sizeof(sf)); std::cout << "segment's size is: "<< sizeof(segment_fault) <<std::endl; //copy this object segments.push_back(sf); return 0; } This code can run on the windows system ,but it failed and cause segment fault on the centos 7 (read hat) , the gcc version is 8.3.1-3. The further information of gcc is below: [alvin@localhost example_code]$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/opt/rh/devtoolset-8/root/usr/libexec/gcc/x86_64-redhat-linux/8/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/devtoolset-8/root/usr --mandir=/opt/rh/devtoolset-8/root/usr/share/man --infodir=/opt/rh/devtoolset-8/root/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-8.3.1-20190311/obj-x86_64-redhat-linux/isl-install --disable-libmpx --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC) 发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用