pg:172-175多接口,Stroustrup,C++编程语言,3E
pg: 172-175 Multiple Interfaces, Stroustrup, C++ Programming Language, 3E
我很难理解这一点!他想说什么所有这些?
第172-173页,他是否创建了一个具有两个接口的SINGLE名称空间(Parser,Parser素数)。然后他是否将每个接口粘贴到不同的头文件中(解析器实现者.h和解析器用户.h)命名空间定义和解析器implementer.h具有较大的(implementer)命名空间定义。但为什么他会说:"编译器并没有足够的信息来检查名称空间的两个定义的一致性。"??如果实际实现是在:parsercrud.c中,那么他应该:#include <parser-implementer>
,这样编译器就可以保证C定义与标头中的声明匹配。。当然是解析器user.h不会被检查。。他是这么说的吗??
然后在第174页(下半部分),Parser_interface如何依赖于Parser::expr??他到底在这里干什么????他在做什么:
#include <parser-implementer.h> // this gets namespace Parser into scope
namespace Parser_interface {
using Parser::expr;
}
pg 175(顶行)驱动程序究竟是如何"易受攻击",以应对Parser_interface接口中的任何更改的????
在那之后我也什么都不懂(直到176页顶部)。。能够有人用头文件、#include和make依赖关系来解释??
你能要两个吗:
namespace FOO { bar };
namespace FOO { baz };
定义在一个头文件中??
让我们从名称空间开始。所以你必须理解的是,如果你有两个头文件类Cube_impl.h和Cube.h,它们都可以有
namespace Cube { ... }
命名空间是唯一的,将定义一次。因此,他并没有声明两个同名的名称空间,而是使用了两次相同的名称空间。因此,在这个名称空间中编写的所有内容都将是它的一部分。如果合适的话,你可以在多个其他类中使用这个名称空间。它通常可以像一样访问
Cube::FunctionName
关于"用户"界面和"实现者"界面的使用。
这是专业人士在想向用户隐藏实现时经常使用的一个巧妙的东西。他们创建第一个头文件,其中包含用户的所有公共成员/函数(例如Cube.h)。然后,他们将为"实现"创建另一个头文件(例如Cube_impl.h),其中将声明受保护的和私有的成员/函数。
这样做的好处是,您以后可以在不影响用户的情况下更改Cube_impl.h,因为用户甚至不知道那里的代码。
我没有读你提到的那本书,但我希望这本书能回答你的问题。
问候
- Bjarne Stroustrup Book - std_lib_facilities.h - 不起作用(未知类型名称)
- C++:关于使用 Stroustrup 示例移动构造函数/赋值的问题
- C++:引用引用,Stroustrup示例
- 关于Stroustrup C++书的自动和{}列表问题
- 如何从Stroustrup的C++书中解释这个正则表达式?
- C++:使用Stroustrup示例生成随机数?
- Stroustrup的C++书挑战赛,有人可以帮助我理解这段代码吗?
- 如何使用Stroustrup的Fltk Text类调用变量?
- Bjarne Stroustrup PPP - 第 9 章 演练 4 - cout 枚举错误
- Stroustrup Ex.7, Chap.4 - C++ Syntax
- 代码在Visual C ++中无法按预期工作(来自bjarne stroustrup编程和原则书籍2n版本的示例)
- Bjarne Stroustrup Book - Vector and For loop - 将不起作用
- Bjarne Stroustrup在他的FAQ中"foundation libraries"是什么意思?
- 在Stroustrup的例子中,冒号在"return 1 : 2"中是什么意思?
- 使用带有初始值设定项列表的 Stroustrup PPP 书中的向量时出现编译错误
- 不理解 VS 中 HelloWorld 的错误,当包含std_lib来自 Stroustrup 的书时
- 为什么 Stroustrup 在 "The C++ Programming Language 3rd Edition (online)" 中定义了函数 sqrt?
- Stroustrup的代码审查-编程原理-Ch-4-问题:3-错误:矢量下标超出范围
- 在Bjarne Stroustrup的C 书中,这个示例有什么问题
- B.Stroustrup新书中的优化和多线程