TC官方合作论坛

 找回密码
 立即注册
查看: 1949|回复: 7

[已解决] 【剑仙教程】老版本。空间的使用价值。

[复制链接]
发表于 2017-5-25 20:08:41 来自手机 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 剑仙十号 于 2019-10-20 23:05 编辑

【剑仙教程】老版本。空间的使用价值。
空间,又叫命名空间。

VC++ ,命名空间的使用:
using namespace std;
tc简单开发,命名空间的写法:
空间 - namespace
  //
空间结束 - endnamaspace

———————————————————————
在tc4.331中,命名空间的定义。
右键"项目管理",新建一个“classB.t”源文件

空间 mysp2 //定义一个命名空间,名字叫mysp2,再往里面写函数。

功能 int 开始_点击() //返回值是 int类型.
int a1
string str
a1=10
str=转换.整型转字符型(a1) //int转string
辅助.消息框(str)
return 0
功能结束
功能 myfun()
辅助.消息框("这是空间2的子函数,myfun。")
功能结束

空间结束
———————————————————————

先提个问题:
在"主体框架.t" 源文件,mysp0空间的子函数中,
怎样调用"classB.t" 源文件,mysp2空间的子函数?

知识准备1:
第一个例程:C语言,库文件的引用。
这个例程是C语言之父,在自己的那本黑皮书里写的,程序后来也成为了很多人学习新语言的第一个程序(hello world)。
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
         printf(“hello world \n”);
         return 0;
}

游客,如果您要查看本帖隐藏内容请回复

———————————————————————
#include <stdio.h>
意思是引入stdio.h这个库文件,库文件保存在c-free5.0专业版 的安装目录。
引入这个库,因为我们要调用库文件里面的printf()函数。
=======================================================



知识准备2:
在tc中,
.t 源文件,理解成项目中的房间。
源文件的命名空间,理解成房间的第二标签。

在命名空间里面,可以封装变量,数组,子函数,流程控制等东西。
.
游客,如果您要查看本帖隐藏内容请回复

说白了,命名空间就是在函数前面,多贴一张标签,用来区分重名的函数。
=======================================================



回到刚才的问题:
在"主体框架.t" 源文件的空间 mysp0中,
怎样调用"classB.t" 源文件 的空间 mysp2的子函数?

首先右键"项目管理",新建一个“主体框架.t”源文件
#include "classB.t" //引用"classB.t"
/*
这跟全局变量的定义类似。引用库文件写在空间外面。定义全局变量写在功能外面。
源文件放在VC安装目录的,使用<>;
源文件放在用户目录的,使用 ""
VC文件的后缀使用 .h,tc文件的后缀使用 .t
*/

空间 mysp0
//先定义一个空间.
//再在空间中定义一个子函数.
//在子函数中就能调用 空间 mysp2的子函数了。

功能 开始_点击()
  mysp2.myfun()
功能结束

空间结束
=======================================================

tc的库文件(***.t),和VC++的标准库文件,Delphi7的单元,易语言的程序集,都是一个概念。
tc中“**.t”源文件的命名空间,和VC++标准库的命名空间,也是相同的概念。
tc 4.331的空间,做得不怎样。几个空间糊在一个“**.t”源文件,乱七八糟的。
发展到tc 6.2,在项目管理中,可以新建多个“**.t”源文件。可以把每个命名空间,单独写到一个tc库。这样做起来条条理理,整整齐齐的。但把命名空间删了。
.
tc与ajjl竞争,一味跟风效仿,迷失了自性。
tc和ajjl竞争,丢弃自身优势,丢失了靠山VC++。好的东西不保留,真可惜!!
这样做着做着,反倒不如习语言了。
习语言 就能把VC++的优点,保留下来。
更新版本,建议把命名空间做回来,把变量的数据类型做回来。
变量的定义,强制使用英文版的数据类型。
流程控制语句,强制使用英文字母的。
这两样不能中英文互换。
其它部分,做成中英文代码,能够互换的。
这样跟VC保持一致。
=======================================================
TC把命名空间删了,把变量的数据类型删了,大神们用着用着不爽,就会放弃大TC。
TCTC,确实是T人的东西。
会员的流失。人才队伍的流失。
//
建议把命名空间 做回来。
using namespace ***; //建议把这命令也做上去。
只要标上 using namespace ***; ,某某空间的全局变量,子函数就可以直接调用。
不需要再写 空间名::全局变量名,空间名::子函数名()
=======================================================
tc大成群。433286131。
集编程之大成。【项目完毕】


回复

使用道具 举报

 楼主| 发表于 2017-6-1 19:11:12 来自手机 | 显示全部楼层
这么好的贴子,没人支持吗?
看懂这个,可以用VC++写码 防检测。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-1 19:25:49 来自手机 | 显示全部楼层
在tc4.0中,命名空间 可以不使用?
就是不定义命名空间,直接在tc库中写变量,写函数。
或者在命名空间外面 定义变量,定义函数。
=======================================================
VC++。命名空间。
在VC++中,可以不定义 命名空间?
就是不使用命名空间,在代码窗口中 直接写变量。写函数。
或在命名空间外面 定义结构体,定义变量,定义函数。
=======================================================

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-1 19:27:05 来自手机 | 显示全部楼层

资料收集:
霜夜丶 6
2楼2017.05.21 21:29
可以啊

剑仙十号:
把结构体,把函数定义,变量定义写在外面,不写在命名空间中。这样可以? 2017.05.21 21:32

霜夜丶:  :
可以啊 你自己写没问题啊 2017.05.21 21:34

剑仙十号:
能否这样理解:不组队写项目,不做大型项目,直接写代码就行了。。不需要定义命名空间。 2017.05.21 21:41

霜夜丶: 回复 剑仙十号 :
这个具体看功能 有时候需要代码优化就需要命名空间了 2017.05.21 21:45
//
悠然南山·箫飞 11
3楼2017.05.21 21:32
你可以用自己的,如果想用標準庫中的就得用

剑仙十号:
能否这样理解:不组队写项目,不做大型项目,直接写代码就行了。。不需要定义命名空间。 2017.05.21 21:38

悠然南山·箫飞: 回复 剑仙十号
只要你能保證,在大型項目中,能使類名,函數名不衝突,就可以不使用。
但是引用外部庫時 已經定義了名字空間,你必須在調用的時候 使用名字空間調用 2017.05.21 21:42
剑仙十号:
赞。谢大神。 2017.05.21 21:44

悠然南山·箫飞: 回复 剑仙十号 :
不敢當,共同學習罷了 2017.05.21 21:45
//
hi60year 11
5楼2017.05.21 21:44
using namespace std这简直是***写法。
不使用命名空间的话,容易和库函数有冲突,所以一般C语言自定义函数,我都用pascalcase命名

回复 支持 反对

使用道具 举报

发表于 2017-11-23 09:30:22 | 显示全部楼层
看看学习下空间
回复 支持 反对

使用道具 举报

发表于 2019-6-26 21:32:56 | 显示全部楼层
回复了才能看下到底是什么好方法
回复 支持 反对

使用道具 举报

发表于 2022-3-27 19:24:18 | 显示全部楼层
2额度3热点12r
回复 支持 反对

使用道具 举报

发表于 2022-4-9 21:20:23 | 显示全部楼层
学习地二
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-5-16 03:11 , Processed in 0.046563 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表