为什么"cups_option_t::name"和"::value"不是"const char*"?

Is there a reason why `cups_option_t::name` and `::value` aren't `const char*`?

本文关键字:const 不是 value char name cups option 为什么      更新时间:2023-10-16

我不想使用cupsAddOption(),因为它具有二次行为(只向分配的内存块添加一个条目(,并且它对每个名称和值字符串进行strdup处理,而在我的情况下,它们都是字符串文字。因此,在对cupsPrintFile()的调用中,我想传递一个cups_option_t s的C数组。

但作为一名C++程序员,我不能将C字符串文字(类型为const char[](分配给cups_option_t字段,因为它们是char*

这只是懒惰的API设计,还是CUPS实际上在原地操纵这些字符串?

由于它们指向malloced和strcpyed内存,因此显然不能是const

您实际预计会受到哪些绩效处罚?你实际多久使用一次这个函数?Prematue优化通常是一个糟糕的习惯,导致代码难以维护。

相关文章: