关于C#,100分+相送。c#中socket编程中,怎么获取接受到得数据长度

关于C#,100分+相送。c#中socket编程中,怎么获取接受到得数据长度,第1张

1 算术表达式:

#include <iostream>

int main() {

    int arr[4];

    std::cout << sizeof( arr ) / sizeof( arr[0] ) << std::endl; // 输出4

}

或者

#include <iostream>

int main() {

    int arr[4];

    std::cout << sizeof( arr ) / sizeof( arr ) << std::endl;  // 输出4

}

2 函数模板参数自动推断:

#include <iostream>

template <typename T, size_t N>

inline size_t Count(  T ( & arr )[N] ) {

    return N;

}

int main() {

    int arr[4];

    std::cout << Count( arr ) << std::endl;  // 输出4

}

3标准C++模板库:

#include <type_traits>  // 注意包含此头文件

#include <iostream>

int main() {

    int arr[4];

    std::cout << std::extent<decltype( arr ), 0>::value << std::endl; // 输出4

}

4模板特化与自动类型推断:

include <iostream>

template <typename T>

class ComputeSize;

template <typename T, size_t N>

class ComputeSize<T[N]> {

public: 

    static const size_t value = N;

};

int main() { 

    int arr[4]; 

    std::cout << ComputeSize<decltype( arr )>::value << std::endl; // 输出4

}

5 Visual C++编译器预定义宏:

#include <cstdlib>

#include <iostream>

int main() {

    int arr[4];

    std::cout << _countof( arr ) << std::endl;  // 输出4

}

6 boost库:

#include "boost/rangehpp"

#include <iostream>

int main(){   

    int arr[4];   

    std::cout << boost::size( arr ) << std::endl; // 输出4

}

上面的方法适用于静态数组,动态的数组(new[])是无法获取元素个数的。

上面的代码,自己可以编译运行看看,如果手上没有编译器测试上面的代码或者编译失败,可以在下面的页面上编译运行(最新版本的Visual C++):

>

以上就是关于关于C#,100分+相送。c#中socket编程中,怎么获取接受到得数据长度全部的内容,包括:关于C#,100分+相送。c#中socket编程中,怎么获取接受到得数据长度、Oracle数据字典(可用它动态获取字段名、长度、类型等)、后端编程Python3-数据库编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9519765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存