De retour d'un vide C-String

Question Simple:

Comment voulez-vous retourner un vide C-String avec aussi peu de code que possible?

J'ai un code qui doit retourner un vide char*. Je suis à la recherche de quelque chose le long des lignes de return "";. Je sais qu'il ya plusieurs façons de le faire, mais je suis à la recherche de la manière la plus efficace possible.

À l'aide de return ""; donne warning: conversion from string literal to 'char *' is deprecated [-Wdeprecated-writable-strings]

Merci!

Quel genre de l'efficacité que vous recherchez? Le PROCESSEUR, la mémoire, statique segment de votre application ou moins de code?
Quel est le prototype de fonction à partir de laquelle vous voulez revenir? Si c'est char *foo(), je ne connais pas de moyen plus court que return "", depuis "" est un littéral et l'éditeur de liens peut-il donner une adresse. Si vous êtes de retour d'un objet, il y a des conversions implicites à prendre en compte.
Il est de savoir si l'appelant n'a *foo() = 'a'.
Cela permettrait d'éviter la dépréciation: const char* s=""; return s;
Waouh, c'est une toute autre question. Regardez memset() pour initialiser une chaîne de caractères. Ex. char str[256]; memset(str,0,sizeof(str));.

OriginalL'auteur Evorlor | 2013-10-19