LINUX.ORG.RU

В Си макро магии для строк подвезли

 , ,


2

3

https://github.com/skullchap/chadstr

int table = 13;
int id = 37; 
str test1 = str("SELECT * FROM ", table, " where person_id ", id);
str test2 = str(test1);         //copies test1 to test2
str test3 = str(test2, test1); // returns concat of test2 and test1

test2 = test1; // acceptable, but wrong since test2 now points to test1 not copies it.

str(*test1); // returns const char* to use in printf like functions
Ex: puts(str(*test1)); // prints test1
chadstr test1 = str("pineapple"); 
chadstr test1range = str((range)(test1, 3,6)); // neap

Судя по всему оно умеет интерполяцию строк (в тч и конкатенацию) а так же виртуальные ранжи. В исходном коде есть зачатки сборщика мусора.

Исходный код с кучей макро магии https://github.com/skullchap/chadstr/blob/master/chadstr.h.

★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.