我想访问 std::unique_ptr 中的特定元素
I want to access a particular element within a std::unique_ptr
目前我有:
using EVP_CIPHER_CTX_free_ptr = std::unique_ptr<EVP_CIPHER_CTX, decltype(&::EVP_CIPHER_CTX_free)>;
这是用代码初始化的:
EVP_CIPHER_CTX_free_ptr ctx(EVP_CIPHER_CTX_new(), ::EVP_CIPHER_CTX_free);
现在我想访问此指针中的 EVP_CIPHER_CTX
格式的函数:
int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *x, int padding);
我该怎么做?
std::unique_ptr
has a member function get
其中 returns 指向托管对象的指针或 nullptr
如果没有对象。
在您的情况下,托管对象的类型为 EVP_CIPHER_CTX
,unique_ptr
为 ctx
。
所以 ctx.get()
会给你一个指向 EVP_CIPHER_CTX
的指针。
目前我有:
using EVP_CIPHER_CTX_free_ptr = std::unique_ptr<EVP_CIPHER_CTX, decltype(&::EVP_CIPHER_CTX_free)>;
这是用代码初始化的:
EVP_CIPHER_CTX_free_ptr ctx(EVP_CIPHER_CTX_new(), ::EVP_CIPHER_CTX_free);
现在我想访问此指针中的 EVP_CIPHER_CTX
格式的函数:
int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *x, int padding);
我该怎么做?
std::unique_ptr
has a member function get
其中 returns 指向托管对象的指针或 nullptr
如果没有对象。
在您的情况下,托管对象的类型为 EVP_CIPHER_CTX
,unique_ptr
为 ctx
。
所以 ctx.get()
会给你一个指向 EVP_CIPHER_CTX
的指针。