s*******d 发帖数: 59 | 1 read/write 16/32
读写的操作除了从significant index到storage index的变换不同外,其他都一样。
使用函数指针将这一点抽出来是一种方案,但是还是要为不同的endian写不同的调用
(传入的函数指针变化了)。
如果通过设置Endian flag来判断,又不是很直观。
要是static函数可以是虚的话,就可以BigEndian和LittleEndian都继承Endian,然后
各自
实现自己的变换就好。不过static函数没有虚函数。 |
s*******d 发帖数: 59 | 2 想了一下,static函数自成一体的有继承,有多态,好像编译器支持起来也
不费劲。感觉和dynamic link差不多。 |
O******e 发帖数: 734 | 3 How about the XDR library?
【在 s*******d 的大作中提到】 : read/write 16/32 : 读写的操作除了从significant index到storage index的变换不同外,其他都一样。 : 使用函数指针将这一点抽出来是一种方案,但是还是要为不同的endian写不同的调用 : (传入的函数指针变化了)。 : 如果通过设置Endian flag来判断,又不是很直观。 : 要是static函数可以是虚的话,就可以BigEndian和LittleEndian都继承Endian,然后 : 各自 : 实现自己的变换就好。不过static函数没有虚函数。
|
s*******d 发帖数: 59 | 4 开始是随手写写,后来觉得很有意思。
嗯,用generic或者template就可以解决了。 |