PrevUpHomeNext

utx::str_new


utx::str_new

utx::str_new is an alias template or a "derived from" class, used to create a string by new, by guaranteeing always auto-fill '\0' for empty space.

utx::str_new_class

It is alias template of or derived from utx::str_new_class, for support specific character type.

The preferred choice is to use alias template, but for compatible, "derived from" is selected.

Rules:

c++ example

#include <utxcpp/core.hpp>

int main()
{
	// Allocate 17+1 size space, and init them with '\0'
	// const char * works for return type.
	const char * s1 = utx::str_new<17>{};

	// Allocate utx::str_size("Hell c++!")+1 size space,
	// and init them with "Hell c++!", the rest with '\0'
	// char * works for return type too.
	char * s2 = utx::str_new{"Hell c++!"};

	// Allocate 17+1 size space,
	// init first utx::str_size("Hell c++!") size space with "Hell c++!",
	// and init the rest space with '\0'.
	const char * s3 = utx::str_new<17>{"Hell c++!"};

	// Allocate 4+1 size space,
	// init first 4 size space with "Hell",
	// and init the rest space with '\0'.
	const char * s4 = utx::str_new<4>{"Hell c++!"};

	utx::print(s1, s2, s3, s4);

	// All of string created by utx::str_new must be destroyed by delete .

	delete [] s1;
	delete [] s2;
	delete [] s3;
	delete [] s4;
}

See Also

utx::wstr_new

utx::u8str_new

utx::u16str_new

utx::u32str_new

utx::print

utx::str_size


PrevUpHomeNext

utx::print

esv::print