Verbatim Literals στο Υπεύθυνη για τη διαχείριση C ++; (Όπως το "μπλα" C # 's @)

ψήφοι
8

Είναι ένας τρόπος για να χρησιμοποιήσετε λέξη λεκτικές String σε διαχειριζόμενα C ++ εκεί; Παρόμοια με C # 's

String Docs = @c:\documents and settings\
Δημοσιεύθηκε 09/12/2008 στις 17:52
πηγή χρήστη
Σε άλλες γλώσσες...                            


3 απαντήσεις

ψήφοι
9

σε C ++ 11, υπάρχει πρώτες λεκτικό string:

cout<<R"((\"ddd\aa)\n)"<<endl;
cout<<R"delimiter((\"ddd\aa)\n)delimiter"<<endl;

εξόδου είναι:

(\"ddd\aa)\n
(\"ddd\aa)\n
Απαντήθηκε 04/03/2013 στις 13:20
πηγή χρήστη

ψήφοι
6

Αυτό δεν είναι προς το παρόν δυνατή. Υπεύθυνη για τη διαχείριση C ++ κατεξοχήν συμβολοσειρά έχουν σχεδόν τα ίδια ακριβώς κανόνες κανονικά C ++ χορδές. Η διαχείριση C ++ spec είναι στην πραγματικότητα απλώς μια αύξηση του προτύπου της ANSI C ++.

Επί του παρόντος δεν υπάρχει υποστήριξη για C # ύφος γραμματική σύνταξη σε C ++ (καταφέρει ή όχι). Θα πρέπει να ξεφύγουν από το χέρι κάθε χαρακτήρα.

Δείτε το Τμήμα 9.1.3.3 στο spec C ++ / CLI για περισσότερες λεπτομέρειες. ( Spec Link)

Απαντήθηκε 09/12/2008 στις 18:12
πηγή χρήστη

ψήφοι
3

Αν και δεν είναι τόσο λακωνική όπως το «@» C # αυτολεξεί λεκτικό string, η ακόλουθη κάνει μεταγλώττιση / CLR: καθαρή, ώστε να μπορείτε να χρησιμοποιήσετε C ++ Πρώτες λεκτικές σταθερές στοιχειοσειράς για καθαρή MSIL και ένα παρόμοιο αποτέλεσμα:

String^ f = gcnew String(R"(C:\foo\bar.txt)");

Πρώτες κατεξοχήν συμβολοσειρά μπορεί να χρησιμοποιηθεί σε τακτική C ++ επίσης:

char *x = R"(C:\foo\bar.txt)";

Google «MSDN C ++ λεκτικές σταθερές στοιχειοσειράς» για περισσότερες πληροφορίες

Απαντήθηκε 09/10/2014 στις 18:55
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more