LuoJi_1995
LuoJi_1995
关注数: 0
粉丝数: 862
发帖数: 29,459
关注贴吧数: 40
表示老师正在讲dp(当然是递推式的)……让我们做了两道题…… 表示习惯递归式的,都用的是递归式描述:-P,且AC了(弱智题,不要问了>_<) 另外求问是不是: 1、递推式的无效状态多,则递归式更快。 2、递推式无效状态少,则递归式更慢。 ?
炮姐乃的egeball.exe能量无损耗么…… btw我这里帧频在120fps附近摇摆
吐槽……今天找了很久终于发现原因了 一直出现 more undefined references to 'vtable for xnet::core::string' follow 经过无比仔细地记录在string内可能出现的虚函数,我发现我只是声明了一下 bool equals(const ref<object> &o); //继承自object,是个虚函数 //默认行为是返回object::ref_equals(this, o) 然后由于忘了在外面重写,结果…… 顺便,我发明或者发现了一种很好的方式避免此问题: 1、决定要重写的虚函数在类内写还是在类外写 2a、在类内,则写上,并在代码块内加入#warning not implemented 2b、在类外,则写上声明,并在下一行加上#warning not implemented
投票票咯~你认为xnet应该支持哪些功能?
一个奇葩的编译失败问题 问一个奇葩的问题,已知clone()方法返回一个const ref<object> 且有 object *ref<object>::operator -> () const; const ref<T> object::as(); 然后代码中(同一个方法中) return clone()->as<array<T> >(); return ((const ref<object>)clone())->as<array<T> >(); 第一行最新的mingw编译失败: F:\Codes\xnet\core.hpp:1370: error: expected primary-expression before '>' token F:\Codes\xnet\core.hpp:1370: error: expected primary-expression before ')' token 第二行却能够通过编译。 求原因
xnet开始支持多维数组 xnet::core::array<type, dimension>表示以dimension为维度的数组。 其中,dimension默认为1。 一维数组允许[]的访问方式,且与C++原生数组语义相同; 多维数组的[int index]访问方式是按照枚举序,第index被枚举到的元素; 任何数组都支持(...)的访问方式; 支持get_length(int n) const;返回第n维的长度。 当然交错数组肯定也是支持的。
又来求教……还是安全性问题~ 考虑一个array结构,ref< array<T> >有T &operator [] (int)。但是这是不安全的,例如下面的代码: ref< array<int> > arr = gcnew < array<int> > (10); //长度为10 int &refer = arr[5]; arr = null; //清空引用 gc::gc::collect(); //这时之前创建的数组已经被回收 refer = 100; //oh, oh! 实际上对于上面的arr[5],其实是个友好写法,array<T>实现了接口i_enumerable<T>,实现了方法 T &at(int); 它返回其位于第一个参数指定位置的元素的引用,而arr[5]实际上等效于arr->at(5)。 如何阻止这个现象呢? A、建立一个accessor模板,使用accessor<T>访问任何可能引起不安全因素的对象或原生类型,accessor<T>中保存对数组的引用,但是accessor有两种表现方式: ---a. 表现为值类型,这必须使用get委托和set委托(委托总是安全的,因为引用类型的委托保存一个对引用类型的引用),而委托的大量创建会降低效率。(注意到输入数据的情况) ---b. 表现为引用类型,这需要将ref<accessor<T> >特化,使得 = 运算符友好,但是这会增加xnet的混乱度,并且也要在托管堆上创建对象。(注意到输入数据的情况) B、约定不得在数组对象不可达的时候仍然保存对数组对象内的元素的引用或指向元素们的指针(这个引用指的是C++原生的引用,而不是xnet的ref<T>)。 C、要求必须使用arr->get_at(index)和arr->set_at(index, value)。这会使得语法很奇葩。 D、请提出更好的安全的方式。 另外关于C#中的不安全代码,是否应该在xnet中支持呢?
cast!cast!cast!!!!
我要破例伸次手啊啊啊啊啊!!!!标题长………………
表示可变模板各种爽!
xnet修订版本发布 在最新的mingw下打开全部警告开关和支持C++0x部分特性开关,并使用按照UTF-8编码格式读入程序…… 和之前一样,是个示例程序。 文档正在写~
xnet alpha test version
表示xnet基础部分代码已写完~欢迎参观和试用 tieba.com/xnet 然后找发布帖子哦(稍后就会放出~) 目前支持的功能: 内存管理 隐式装箱(包括将任何值结构或原生类型[不含枚举和联合]装箱)和显示拆箱(只支持将原生类型拆箱) 在适当时抛出异常 类似.NET的字符串格式化功能 控制台的输入和输出 数组 数组构造器(自动扩容,最后隐式转换为数组的引用)
【Ad. Time】欢迎大家来访问xnet贴吧并讨论啊!!! tieba.com/xnet 不使用各种缩短地址手段的官方最短地址哟~ 欢迎来访!
需要帮助~关于xnet的……一些安全问题………………………… 显然当调用成员函数的时候总要通过原生指针,但是这样是不安全的,因为如果在成员函数执行的途中对象被搬动或回收,那么就会破坏托管堆或者它上面的对象。 现在的问题是:通常如何解决呢? A、引入一个别针机制,对象被别针引用的时候不允许一块托管堆的collect,既能阻止被回收(匿名的对象),也能阻止被搬动,并约定成员函数开始的时候必须首先创建一个对自己的别针。 B、不再使用复制算法或标记-压缩算法,而使用标记-清除算法。约定在成员函数开始的时候必须创建一个对自己的(通常使用的,即ref<T>)引用。 C、约定成员函数开始的时候引用自己,并且之后只用引用访问自己的其他成员,而不用原生的this指针。
擦……C++的宏比我想象的要奇葩多了 考虑如下定义: #define foreach(type,name,in,collection,...) for (::xnet::core::ref< ::xnet::interfaces::i_enumerator< type > > __##__LINE__ = (collection)->as< ::xnet::interfaces::i_enumerable< type > >()->get_enumerator(); ! __##__LINE__ -> i_enum_finished(); __##__LINE__ -> i_enum_move())\ {\ type name = __##__LINE__ -> i_enum_get();\ __VA_ARGS__\ } 其中in是个无用参数 用法类似这样: ref<array<int> > arr = gcnew array<int>(10); for (int i = 0; i < 10; ++i) arr[i] = i; foreach(int, i, in, arr std::cout << i << std::endl; ); 当然没问题……然后看2楼
一个关于多重继承的问题 struct FooA { virtual ~FooA() { } virtual void work() = 0; }; struct FooB { virtual ~FooB() { } virtual char work() = 0; }; struct Foo : FooA, FooB { //how can I override FooA::work and FooB::work? }; 显然直接 void work() { } char work() { return 'a'; } 不可以 然后 void FooA::work() { } char FooB::work() { return 'a'; } 编译不能通过 难道要 struct Foo_helperA : FooA { void work() { } }; struct Foo_helperB : FooB { char work() { return 'a'; } }; struct Foo : Foo_helperA, Foo_helperB { }; 吗?
发现了一个奇葩的模板…… template <class T> void call_dtor(T *obj) { obj->~T(); } int main() { int *a = (int *)malloc(sizeof(int)); new (a) int; call_dtor(a); free(a); //things above are okay. //but this makes an error: (new int)->~int(); }@幻の上帝 @飞翔的天地 求解释
问题:delete一块不是由常规new分配的内存会干什么? 这是未定义行为吗? @幻の上帝
xnet基本工作已经完成 下一步是完成各个实际意义类,组成强大的类库。 顺便,gc正在测试中,将会给出很多语法糖的。
xnet code review相关帖子 请把xnet使用过程中发现的错误的关键代码(最少重现bug代码)发布在这里。
这个吧是我创建的,要申请吧主啊!!! 有木有啊 !!!有木有!!! 怎么会这样!!! 发个图试试
我要当吧主有木有!!! 就是这样就是这样就是这样就是这样就是这样就是这样就是这样就是这样
这个吧是我创建的啊 啊啊啊啊
为了吧主,再发一些~ 我真的要当吧主!!!
我要做xnet吧吧主 我要做xnet吧吧主
此吧为LuoJi_1995创建。 恩,就是这样。这是为了讨论xnet而创建的贴吧。
【预告】表示我的xnet要初步成形了 15天内会发布xnet的milestone 1。 xnet可以认为是.NET Framework的C++实现版本的子集,可以编译为本地代码。 xnet使用名字空间,并且命名使用了贴近STL的small_letters形式,尽量做得名字简洁。 目前的布局是: namespace xnet { namespace exceptions { } //包括异常的定义 namespace gc { } //gc的实现 namespace core { } //object、ref<t>、string等结构的实现 } 将不会污染C++本身的new,而是使用 #define gcnew new (__FILE__, __LINE__) 并使用 void *operator new (size_t, const char *, int); 实际上__FILE__和__LINE__是目前没有用上的,但是加入到调试信息里面也是有可能的。 本次将不会特意地包装原始数据类型,当且仅当需要装箱时将原始数据类型转换为object的派生结构。 使用value_type标识一个object的派生结构是值类型,并允许在栈或托管堆上创建value_type对象。 禁止不使用ref<t>而使用非value_type的object的派生对象,也就是说禁止非gcnew的方式创建对象。但是代码不保证你不能使用t *保存对象,但是这样将不能保证托管堆上保存引用便于日后的清理工作,这部分相当于C#的不安全代码。 各种大侠们要支持我呀!!!!
问题:new、new[]、delete、delete[]利用了free、malloc? 那么为什么要区分delete和delete[]呢?
乃的renren头像太萌了!!!! >_<
@一下LZ @bxbian951122
蛋疼问题……cout中c的意思? 是c++的简写还是console的简写? btw其实不是console而是标准输出流吧。
奇怪了……那个求父母的帖子被胡谐了?
拜访鸟受
lrj黑皮书的马尔可夫链的implemention 目的:观看奇葩文章,练习stl。 表示造出的文章各种奇葩。 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpastebin.com%2FRU4rgmkA&urlrefer=4310c68b2aca4342c3390769affdb162 玩的方法: 0、找英文名著的电子版或英语文献电子版,txt格式的。 1、编译这个程序并运行 2、输入文件的绝对路径或相对路径 3、按回车 4、观看输出的文章 btw你可以用管道把输出文章保存到文本文件然后用更好的方式(如用Word)观看,控制台的断字太奇葩了。
lrj黑皮书上面判断笑脸的implemention 目的:无聊一下,并且开始练习使用stl。 表示运用到了stl……并且个人感觉代码风格还是可以的,标识符不算长。 玩乐方式: 打开记事本 然后用字符画开始画图(推荐一下小燕子字符画软件) 半角空格表示空点,半角句点表示实点 画出一个脸,保存 编译并运行程序,输入文件名(一行内输入),程序会告诉你其是否是如下定义的笑脸。 脸元素:一片八连的实点。 脸:包括(请注意这里的“包括”的意思是“包括但不限于”)4个脸元素,这四个脸元素应该是轮廓、嘴、眼睛、眼睛。 轮廓:所有的脸元素中,宽度最大的是轮廓。 嘴:所有脸元素中,宽度第二大的是嘴。 笑脸:一种脸,嘴元素的最上面的点在最左侧或最右侧。 不做脸的合理性判断,只判断是否有四个脸元素。 待会放pastebin的链接
(一个古老的工具)阻止挖坟机 通过本工具再配合锁帖工具可以删除挖坟人,但是本工具很友好,不去封禁挖坟者(其实加上这个功能也行,还可以加上类似“三天内挖了五个坟的封”这种限制条件)。 呼叫neo @尼奥亚特兰蒂斯 btw发现尼奥和鸟的拼音除了隔音符意外时一样的 = =
(醒目)锁帖工具完成 目前完成了其核心。 通过命令提示符(需要使用大量复杂的参数)调用,打算进一步弄成控制台版本的自动化工具,可以监测前10个帖子,若出现带有锁帖标记的帖子,则会进行锁帖标记后的帖子的清理。 表示这个工具需要持续运行才能有效,另外表示此工具需要使用小吧主或吧主身份登陆百度,最好是可以设置一个专门的删帖机器人用户作为小吧主。
talk an issue in only one post talk an issue in only one post
xym has gone to the dark cabet xym has gone to the dark cabet
水……baidu贴吧的数据传送方式又改变了 http://tieba.baidu.com/p/帖子号码 等价于 http://tieba.baidu.com/f?kz=号码 翻页后,原来繁杂的参数传送变成了 http://tieba.baidu.com/p/号码?pn=页码
好了我又发现C++的奇葩语法了 联合可以有公、私、保护(没继承啊)成员,可以有成员函数,可以重载运算符,可以有构造函数和析构函数,没有virtual和static。 #include<iostream> using namespace std; union b { long i; char ch[4]; ~b() { cout << "destructed union " << this << endl; } b() { cout << "constructed union " << this << endl; i = 0x00414141; } //little endian double getX() { return x; } private: double x; protected: double z; //those work, but a union cannot be derived. }; int main() { b x; cout << x.ch/*this makes AAA*/ << endl << x.getX() << endl; //cout << x.x; //this doesn't work... } 例如这个……
[水]发几个神级英语单词的拼音输入法结果 fvck(实际上是什么你懂得):妇产科 shlt(实际上是什么你懂得):食堂 果断匿
polynomial的实现 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fpastebin.com%2FMD6YPkxY&urlrefer=6cdf7b92987a6e513e9121e1023184b9 不明真相的同学,请看这里:http://tieba.baidu.com/f?kz=1130405166
讨论之后放代码……polynomial的实现…… 实现一个polynomial类,支持一元多项式的加、减、乘、除、求余式,支持LINP的(Language INtegrated Polynomial)方式构造一个polynomial,其中系数都是double。 支持 polynomial << double 计算将double的值代入后多项式的值。 支持 double >> polynomial 为同义。 支持 ostream << polynomial 方式输出格式化之后的多项式。 支持 void polynomial::ToString(char *buf) 方法在buf上输出格式化后的多项式。 支持 int polynomial::Degree() const; 获取其次数,注意,整式0没有次数,这里定义为-1。 支持 const double *Coefs() const; 获取其系数数组,注意从Coefs()[i]是i次项系数,整式为0时,返回NULL。 为了方便代码,求商时,略去余式,且若除式为0,返回0。求余式时,若除式为0,则返回被除式。 不必压缩系数,默认其为非稀疏多项式,但其次数未知。 注意:对于double类型数据相等的判定不能使用==,而应计算与其差的绝对值,在给定精度下可以认为相等。 好了大家讨论吧 = = 大牛勿喷(now & 看到代码之后)……记住我永远是个新手。 永远记住这个帖子不是求救,而是讨论,并且后期我会放出我的代码……
万能的化吧……选取什么介质传送大小约为20.08GB的资料? 包括图片、视频、演示文稿、Moviemaker电影文件等等……压缩无力。 而且这个资料要制作10份副本,我的容量最大的介质就是4.37GB的DVD…… 难道要用50张DVD么……
水……北京中考的分数出来啦…… 语数外物化体加…… 104+114+116+98+80+5 求秒杀
那啥……这是一个简单的拜吧帖…… Q:什么是简单的拜吧帖? A:就是和本帖1楼除发送时间、IP、用户以外完全相同的帖子。
its raining dogs n cats in beijing Pv/n
吐槽……你们的邮编太奇葩了吧…… 有1、100、1000、10037(这个还可以接受)……为什么没有10呢?
万能的化吧……请告诉我…… 帝都哪里有较好且较便宜的学习舞蹈(交谊舞)的地方?
水……无意间发现bd的某个页面 http://tieba.baidu.com/?f&kz=随便一个数字 我这里出现了一个很大的It works!
伸手……C++里面有没有计数宏…… 比如用第一次,得到0,之后不断增加的…… 或者随机数宏也行,要求这个宏必须是字面量 比如rand()就不行,比如++x就不行 比如__LINE__是一个很好的宏,但是同一行又会冲突
嗯嗯嗯……3D Tic Tac Toe Console代码编写和初步测试完成了…… 写丑了,见谅…… 会有一点新手的感觉 马上贴代码,求有人进行读代码找错的测试……试玩我已经进行过了。
[预告]我近期会放出一个3D Tic Tac Toe控制台版本 如题,大家为我加油啊~
我来爆声音 这个很高级哦 http://tieba.baidu.com/mo/q/checkurl?url=https%3A%2F%2Femidfw.blu.livefilestore.com%2Fy1pxdCvyajtcPGF6hYlB4ek8RuOI1O8rQXdPaIDl5EstTPEAFHSMu1_82ez1bhwJun5CeFXUkskMmn_vEDQYMBbFihEBt0CES9E%2Fhello1.bmp&urlrefer=59884843659b4225640e51071ff06e23
i need rp... The chem xam is comin soon. Posted with phone.
吐槽……北京中考物理最后一题就是在考数学嘛……
[水]发现手机贴吧如何回复某个人的跟帖 恢复的时候用@就可以了 话说这样可以一次回复很多人,so gr8!
watttteeeeeerrr :-)
首页
1
2
3
4
下一页