const char** 的 size_of
时间: 2024-08-17 12:01:07 浏览: 34
`const char**`是一个指向指针的指针,它存储的是 `char` 类型的一维数组的地址。`size_of(const char**)`通常表示这种数据类型的大小,即两个指针所占字节数。在大多数现代系统中,每个指针占用4或8个字节(取决于系统是32位还是64位),所以如果`const char**`仅包含单个元素(比如只有一个指向字符串的指针),它的大小将是8或16字节。
然而,如果你是指的是`const char*`数组的大小,那就要看具体的数组长度了。每增加一个`const char*`元素,就会多出4或8字节。例如,如果有一个包含5个字符串的`const char*`数组,那么总大小将是5 * (sizeof(const char*)) + sizeof(const char**).
相关问题
find_last_not_of(const char* str, size_t pos = npos) const
这是一个 string 类中的成员函数,用于查找字符串中最后一个不在指定字符集合中的字符。
函数原型如下:
```cpp
size_t find_last_not_of(const char* str, size_t pos = npos) const;
```
其中,str 表示指定的字符集合,pos 表示从哪个位置开始向前搜索,npos 表示搜索整个字符串。
函数返回最后一个不在指定字符集合中的字符的下标(位置),如果找不到,则返回 string::npos。
例如,对于字符串 `"hello world"`,调用该函数并指定字符集合为 `"ld"`,则返回值为 6,表示最后一个不在 `"ld"` 中的字符是字符 `"o"`,它的下标为 6。
QT 报错conflicting declaration of 'int _vsnprint(char* ,size_t,const char*,va_list)' with 'C' linkage
这个错误通常是因为在 C++ 代码中包含了 C 语言的头文件,导致函数名和参数不匹配的问题。解决方法是在 C++ 代码中使用 `extern "C"` 告诉编译器这些函数是 C 语言的,需要使用 C 的命名和参数规则。
具体做法是在包含 C 语言头文件的地方加上 `extern "C"`,例如:
```cpp
extern "C" {
#include "my_c_header.h"
}
```
如果还出现类似的错误,可以尝试在函数声明前加上 `extern "C"`,例如:
```cpp
extern "C" int _vsnprint(char* ,size_t,const char*,va_list);
```
这样就可以解决这个错误了。