Друг объем в C++

Я думал, что поделился бы сводкой моего псевдонима. Также я нахожу использование «zsh» великолепно, git it colora все хорошо красит и говорит, что вы хотите, чтобы ветка все время менялась в командной строке.

Для тех, кто покрывает SVN, вы найдете это полезным: (это комбинация идей из разных потоков, я только беру кредит на знание того, как использовать copy / paste)

.gitconfig:
        ls = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset' --abbrev-commit --date=relative --name-status

>>git ls
* 99f21a6 - (HEAD -> swift) New Files from xcode 7 (11 hours ago) Jim Zucker| 
| A     icds.xcodeproj/project.pbxproj
| A     icds.xcodeproj/project.xcworkspace/contents.xcworkspacedata
| A     icds/AppDelegate.m
| A     icds/Assets.xcassets/AppIcon.appiconset/Contents.json

* e0a1bb6 - Move everything to old (11 hours ago) Jim Zucker| 
| D     Classes/AppInfoViewControler.h
| D     Classes/AppInfoViewControler.m
| D     Classes/CurveInstrument.h


.gitconfig: 
       lt = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset' --abbrev-commit --date=relative

>>git lt
* 99f21a6 - (HEAD -> swift) New Files from xcode 7 (11 hours ago) Jim Zucker
* e0a1bb6 - Move everything to old (11 hours ago) Jim Zucker
* 778bda6 - Cleanup for new project (11 hours ago) Jim Zucker
* 7373b5e - clean up files from old version (11 hours ago) Jim Zucker
* 14a8d53 - (tag: 1.x, origin/swift, origin/master, master) Initial Commit (16 hours ago) Jim Zucker


.gitconfig
lt = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)%an%Creset' --abbrev-commit --date=relative

>> git lt

commit 99f21a61de832bad7b2bdb74066a08cac3d0bf3c
Author: Jim Zucker <jim@stratengllc.com>
Date:   Tue Dec 1 22:23:10 2015 -0800

    New Files from xcode 7

A       icds.xcodeproj/project.pbxproj
A       icds.xcodeproj/project.xcworkspace/contents.xcworkspacedata


commit e0a1bb6b59ed6a4f9147e894d7f7fe00283fce8d
Author: Jim Zucker <jim@stratengllc.com>
Date:   Tue Dec 1 22:17:00 2015 -0800

    Move everything to old

D       Classes/AppInfoViewControler.h
D       Classes/AppInfoViewControler.m
D       Classes/CurveInstrument.h
D       Classes/CurveInstrument.m
17
задан Marcin 12 January 2009 в 22:33
поделиться

4 ответа

Дружба в C++ не является переходной:

John является моим другом, и он может использовать мое беспроводное соединение любое время (я доверяю ему).
друг John's Tim, хотя отходы и хотя John является моим другом, среди меня не Tim как друга, и таким образом я не позволяю ему использовать мое беспроводное соединение.

Дружба НЕ наследована

, Также дети John's являются набором хулиганов, таким образом, я не доверяю им ни один, который они - определенно не мои друзья, ни являются моими собственными детьми, которым я доверяю насколько я мог бросить их.

, Хотя наши дети не могут непосредственно, получает доступ к беспроводной связи, они могут получить доступ к ней, если они проходят нас. Таким образом, дети John's могут получить доступ к моей беспроводной связи, если они получают доступ к ней через John (т.е. они контролируются, и защитил John).

кроме того, дружба не симметрична.

у John есть правительственное задание, таким образом, ему, к сожалению, не разрешают доверять никому, особенно когда дело доходит до беспроводной связи.

Вы всегда - свой собственный лучший друг.

Это позволяет вещи как конструкторы копии, где можно получить доступ к члену парламента, не занимающему официального поста другого объекта даже при том, что нет никаких реальных доступов.

, Таким образом, я также автоматически дружу со всеми своими клонами :-) поскольку они - просто другие экземпляры меня.

132
ответ дан 30 November 2019 в 09:56
поделиться

Я просто нашел эту статью при ожидании ответов. Это отвечает на мой вопрос вполне прилично: Друг объем в C++

3
ответ дан 30 November 2019 в 09:56
поделиться

Дружба в C++ не является переходной:

(A is friend of B) and (B is friend of C) does not mean (A is friend of C)

кроме того, дружба не симметрична.

(A is friend of B) does not mean (B is friend of A) 

необходимо явно заявить, что A является другом C, чтобы смочь получить доступ к C частный материал из A. Если добавление метода set и метода считывания к классу выставляет информацию, не предназначенную, чтобы быть выставленным, необходимо рассмотреть друзей, если Вы не можете найти свой дизайн, являющийся дефектным (использование друга допустимо. Это не знак для плохого дизайна). Если можно добавить метод set и метод считывания без того являющегося разрушительным к интерфейсу, то необходимо постараться не заводить других друзей классов. Обратите внимание, что вложенный класс всегда является другом вложенного класса. Таким образом, вложенный класс видит рядовых вложенного класса.

24
ответ дан 30 November 2019 в 09:56
поделиться

Поскольку в C++ дружба не является переходным свойством. На самом деле этого нужно избежать каждый раз, когда возможный, потому что это представляет сложность в системе.

Предполагают, что B является классом посредника и A, и C являются компонентами, которыми нужно управлять, Вы действительно думаете, что он имеет смысл, что кнопка должна нуждаться в доступе к реализации флажка?

Между прочим, я не вижу, где 'иерархия' Вашего заголовка находится в случае, Вы спрашиваете.

3
ответ дан 30 November 2019 в 09:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: