printf %p格式和basic_ostream格式有关系吗?
Is there a relationship between printf %p format and basic_ostream format?
据我所知 %p 在 printf 中使用 writes an implementation defined character sequence defining a pointer.
但是它总是应该写与
相同的字符序列吗?
basic_ostream& operator<<( const void* value );
?
我没有找到关于这两种格式之间潜在关系的任何信息,在许多情况下字符序列看起来是相同的,但它是有保证的,还是指针的两种格式可以独立实现定义不同的字符序列?
std::basic_ostream::operator<<
for pointers uses std::num_put::put
, which is defined to work the same as std::printf()
加上 %p
加上本地特定的转换和填充。
据我所知 %p 在 printf 中使用 writes an implementation defined character sequence defining a pointer.
但是它总是应该写与
相同的字符序列吗?basic_ostream& operator<<( const void* value );
?
我没有找到关于这两种格式之间潜在关系的任何信息,在许多情况下字符序列看起来是相同的,但它是有保证的,还是指针的两种格式可以独立实现定义不同的字符序列?
std::basic_ostream::operator<<
for pointers uses std::num_put::put
, which is defined to work the same as std::printf()
加上 %p
加上本地特定的转换和填充。