标准中哪里说 `new` 返回的每个分配都与 `std::max_align_t` 对齐?

Where in the Standard does it say that every allocation returned by `new` is aligned to `std::max_align_t`?

In this video,在大约 6.39,主持人似乎说 new 总是 returns 内存与 std::max_align_t 对齐,这是有道理的,因为 operator new 对分配的变量类型一无所知。也就是说,编译器必须选择最严格的对齐方式。但是我在标准中找不到这个。

主持人还说,当使用 new 分配 charunsigned char 数组时,此规则不适用。在这种情况下,对齐取决于大小。但这对我来说也不是很清楚。

这是在 [basic.stc.dynamic.allocation]/2:

The allocation function attempts to allocate the requested amount of storage. If it is successful, it shall return the address of the start of a block of storage whose length in bytes shall be at least as large as the requested size. [...] The pointer returned shall be suitably aligned so that it can be converted to a pointer of any complete object type with a fundamental alignment requirement (3.11) and then used to access the object or array in the storage allocated (until the storage is explicitly deallocated by a call to a corresponding deallocation function). [...]