Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::basic_..._view::data(3)  C++ Standard Libary std::basic_..._view::data(3)

NAME
       std::basic_string_view::data - std::basic_string_view::data

Synopsis
	  constexpr const_pointer data() const noexcept;  (since C++17)

	  Returns  a pointer to	the underlying character array.	The pointer is
       such that the
	  range	[data(); data()	+ size()) is valid and the values in it	corre-
       spond to	the
	  values of the	view.

Parameters
	  (none)

Return value
	  A pointer to the underlying character	array.

Complexity
	  Constant.

Notes
	  Unlike std::basic_string::data() and string literals,	data() may re-
       turn a pointer to
	  a buffer that	is not null-terminated.	Therefore it  is  typically  a
       mistake to pass
	  data()  to  a	 routine  that takes just a const CharT* and expects a
       null-terminated
	  string.

Example
       // Run this code

	#include <iostream>
	#include <cstring>
	#include <cwchar>
	#include <string>
	#include <string_view>
	int main()
	{
	    std::wstring_view wcstr_v =	L"xyzzy";
	    std::cout << std::wcslen(wcstr_v.data()) <<	'\n';
	    // OK: the underlying character array is null-terminated

	    char array[3] = {'B', 'a', 'r'};
	    std::string_view array_v(array, sizeof array);
	    // std::cout << std::strlen(array_v.data())	<< '\n';
	    // error: the underlying character array is	not null-terminated

	    std::string	str(array_v.data(), array_v.size()); //	OK
	    std::cout << std::strlen(str.data()) << '\n';
	    // OK: the underlying character array of a std::string  is	always
       null-terminated
	}

Output:
	5
	3

See also
	  front	  accesses the first character
	  (C++17) (public member function)
	  back	  accesses the last character
	  (C++17) (public member function)
	  data	  returns a pointer to the first character of a	string
		  (public	 member	      function	     of	      std::ba-
       sic_string<CharT,Traits,Allocator>)

http://cppreference.com		  2022.07.31	  std::basic_..._view::data(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::wstring_view::data&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help