我不想使用cupsAddOption()
,因为它具有二次行为(只会在分配的内存块中添加一个条目),并且因为它会覆盖每个名称和值字符串,而在我的情况下,它们都是字符串文字。因此,在调用cupsPrintFile()
时,我想传递一个cups_option_t
的C数组。
但作为C ++程序员,我无法将C字符串文字(类型为const char[]
)分配给cups_option_t
字段,因为它们是char*
。
这只是懒惰的API设计,还是CUPS实际上就地操作这些字符串?
答案 0 :(得分:0)
因为它们指的是malloc
ed和strcpy
内存,所以它们显然不能是const
。
您实际期望的性能惩罚是什么?你经常使用这个功能的频率是多少?预先优化通常是一个糟糕的习惯,导致难以维护代码。