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,   std::ba-
       sic_string_view::data()
	  returns  a  pointer  to a buffer that	is not necessarily null-termi-
       nated, for example a
	  substring view (e.g. from remove_suffix). 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 <cstring>
	#include <cwchar>
	#include <iostream>
	#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
		(public	member function)
	  back	accesses the last character
		(public	member function)
	  data	returns	a pointer to the first character of a string
		(public	member function	of  std::basic_string<CharT,Traits,Al-
       locator>)

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

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

home | help