知道为什么在这种情况下使用 **
Any idea why ** is used in this case
知道为什么在这种情况下使用 ** 吗?
HRESULT CreateSolidColorBrush(
const D2D1_COLOR_F & color,
ID2D1SolidColorBrush** solidColorBrush
);
在这种情况下使用指向指针的指针有什么好处?
(为什么不开发刚刚返回ID2D1SolidColorBrush*的函数)
1.在这种情况下使用指向指针的指针有什么好处?
因为该函数可能旨在修改一个指针,您可以传递给它的地址。
When this method returns, contains the address of a pointer to the new
brush. This parameter is passed uninitialized.
它可能已被声明为对指针的引用,但用户更清楚他必须给出要修改的指针的地址,因为这将强制他执行语义。
2。为什么他们不开发刚刚返回的函数 ID2D1SolidColorBrush*
?
因为函数已经returns 某物是一个状态。
If this method succeeds, it returns S_OK
. Otherwise, it returns an
HRESULT
error code.
分离状态和计算值是一种很好的做法。
知道为什么在这种情况下使用 ** 吗?
HRESULT CreateSolidColorBrush(
const D2D1_COLOR_F & color,
ID2D1SolidColorBrush** solidColorBrush
);
在这种情况下使用指向指针的指针有什么好处?
(为什么不开发刚刚返回ID2D1SolidColorBrush*的函数)
1.在这种情况下使用指向指针的指针有什么好处?
因为该函数可能旨在修改一个指针,您可以传递给它的地址。
When this method returns, contains the address of a pointer to the new brush. This parameter is passed uninitialized.
它可能已被声明为对指针的引用,但用户更清楚他必须给出要修改的指针的地址,因为这将强制他执行语义。
2。为什么他们不开发刚刚返回的函数 ID2D1SolidColorBrush*
?
因为函数已经returns 某物是一个状态。
If this method succeeds, it returns
S_OK
. Otherwise, it returns anHRESULT
error code.
分离状态和计算值是一种很好的做法。