Есть вектор QLabel'ов. Эти QLabel'ы могут удаляться из вектора. Следовательно, должны удаляться и строки (текст) в QLabel'ах. Чтобы это сделать, нужно использовать указатели на строки. QLabel не принимает указатели на строки. Что делать? Есть ли альтернативные пути?
Еще раз, есть вектор указателей на QLabel'ы. В функции A я создаю и инициализирую строку, запускаю из нее другую функцию (B), передавая ей ссылку на эту строку. В функции B я создаю указатель на QLabel и пихаю в него ссылку на строку. Потом я помещаю этот указатель на QLabel в вектор указателей на QLabel'ы.
Так вот, мне может понадобиться удалить указатель на QLabel из вектора указателей на QLabel'ы. Но фишка в том, что указатель на QLabel может и удалится, а вот строка не удалится, так как она не указатель на строку. Следовательно, мне надо помещать в указатель на QLabel указатель на строку, а при удалении удалить сначала указатель на строку, а потом и указатель на QLabel.
Куда денется строка, когда завершится функция A. Если QLabel ее скопирует к себе, тогда все понятно, при удалении указателя на QLabel автоматически удалится и его строка. А если нет, то как вообще можно передавать какие-то строки в QLabel в функциях!
Решено
Проверил. Значение текста у указателя на QLabel сохраняется при выходе их области видимости функций. То есть, получается, что QLabel копирует строку к себе. Так же проверил, что эта строка удаляется при удалении самого QLabel (присвоил указателю «a» адрес «text'а» QLabel'а, удалил QLabel и присвоил еще раз, естественно получился SIGSEGV).