C/C++
skysky97
这个作者很懒,什么都没留下…
展开
-
C++头文件定义全局函数或类成员函数
inline修饰的函数可以存在多个副本,所以你可以在头文件中用inline定义一个全局函数,然后在多个源文件。C++中,类声明中直接定义的成员函数,都被当从inline函数,所以不会造成“重定义”,这解释了文章开头的。事实上,现代编译器已经十分智能,他会自动选择是否需要将函数内联,即使你没有用inline修饰。中调用而不用担心造成“重定义”错误,编译器会保证他们都使用同一个定义(相同的函数地址)。line修饰的函数称为内联函数,他告诉编译器允许将函数在调用位置展开,而不使用函数调用。...原创 2022-08-12 17:00:17 · 3461 阅读 · 0 评论 -
C语言中结构体标签的使用
C语言中结构体标签的使用我们都知道,结构体标签就是结构体的名称,为结构体命名可以方便我们在后续继续使用该结构体。如struct student { char* name; int age;}struct student zhangsan;struct student lisi;这里定义了两个student结构体类型的变量,每次使用时都需要加上struct,比较麻烦。实际上更多情况下我们会使用typedef来给一个匿名结构体起个别名,不用每次都输入struct。如typedef s原创 2022-01-28 14:10:02 · 3142 阅读 · 2 评论 -
mktime64和gmtime64实现
由于某些嵌入式标准库中的时间函数没有64位版本,所以需要自己实现。这里的两个函数我在linux上与库函数作了对比测试,遍历了1970到2270的每一秒,结果无误。代码是从网上搜集修改而来,具体出处实在是忘记了,印象中都来源于glic库。mktime64实现:/*******************************************************************...原创 2018-10-22 16:51:40 · 3256 阅读 · 0 评论