每天同一个c++,linux和深度学习八股
Linux:
grep:查找文件里符合条件的字符串
grep test *file //当前目录后缀含有file字样的文件中含test字符的文件
grep -r updat /etc/acpi 该目录下所有文件和目录包含updata的文件
grep -v test *test* 过滤不含test的内容
grep "123" test.log 查看test.log中包含123字符的日志
grep -10 '123' test.log打印前后对应的10行
C++:
重写:在继承关系中,子类定义了和父类很相似的虚函数,函数名和参数要相同,返回值可以不同,不过指针要是符子关系或则引用,重写可以实现动态多态
重定义:隐藏也是在继承关系中,子类实现一个和父类一样的函数名,不关心参数和返回值,只看名字,这样子类就函数相当于把父类同名函数隐藏了
重定义和重写是针对继承体系来说的,前者只需要函数名一样,后者得signature一样且为虚函数
重载:同一个作用域,函数名相同,参数或者参数类型不同就可以,至于返回值不重要,重载从底层上看它们还是不同的函数
new、delete 和 malloc、free 的区别:
new/delete是C++的操作符,而malloc/free是C中的函数。
new做两件事,一是分配内存,二是调用类的构造函数;同样,delete会调用类的析构函数和释放内存。而malloc和free只是分配和释放内存
new/delete是保留字,不需要头文件支持;malloc/free需要头文件库函数支持。