whatofor
whatofor
关注数: 11
粉丝数: 108
发帖数: 9,674
关注贴吧数: 15
求喷我以及喷人. http://tieba.baidu.com/p/2122184793 我忍不住了.
半吊子c++程序员写的c代码. #include <stdio.h> #include <unistd.h> #include <signal.h> #include <sys/types.h> #include <sys/param.h> #include <sys/stat.h> int main(){ time_t tim; printf("%s", ctime(&tim)); return 0; }
水货求助, linux , 那边挽尊的都没..http://tieba.baidu.com/p/2104063461
求助,linux中ssh-keygen生成的密码放在那里的 先操作:$hostname name1$ssh-keygen -t dsa -P '' -f ~/.ssh/dsa_root$cat ~/.ssh/dsa_root.pub >> ~/.ssh/authorized_keys这样, 就可以 直接通过"ssh name1"登录本机了. 然后再输入以下指令$hostname name2$ssh-keygen -t dsa -P '' -f ~/.ssh/dsa_root$cat ~/.ssh/dsa_root.pub >> ~/.ssh/authorized_keys现在, "ssh name2" 也可以登录当前计算机了.登录的时候, 需要目标计算机有公钥, 这个没有疑问, 是保存在~/.ssh/authorized_keys中.但是, 登录的时候, 本地的私钥存在在哪里?我发现在执行$ssh-keygen -t dsa -P '' -f ~/.ssh/dsa_root之后, 私钥是保存在文件~/.ssh/dsa_root中. 但是 我更换计算机名(name2)之后,再次执行$ssh-keygen -t dsa -P '' -f ~/.ssh/dsa_root后, ~/.ssh/dsa_root文件已经被覆盖了, 但是还能继续登录ssh name1这是为什么?
谭浩强千秋万代, 岂容删帖? 为人不识谭浩南, 便称英雄也枉然
求助, 解决办法 #include<stdio.h> static buff[1024*236]; void do_sth() { FILE* fp = fopen("a.txt", "rb"); if(sizeof(buff) != fread(buff, 1, sizeof(buff), fp)) return; fclose(fp); fp = fopen("b.txt", "wb+"); if(sizeof(buff) != fwrite(buff, 1, sizeof(buff), fp)) return; fclose(fp); } int main(void) { int count = 1000; while(count--) do_sth(); return 0; } //其中 a.txt是存在的. 文件大小也是足够的 // 在win xp下运行, 毫无问题. // 在win 7 下运行, debug发现, count = 70左右, 程序蹦. // 求解为什么, 有什么好的方法防止. // 注意, 要好的方法.
问两个问题 1. vector<int> vec(1); vec.insert(vec.end(), 2); //这个是合法的吗? 2. int to_int(char c) { return c; } void print(int* val) { cout<<*val; } int main() { print(&to_int('1')); // 这是未定义行为吗? }
纪念一下第一次发帖被删(同求怎么让不让已签到弹窗一直出来) rt
语法错误 const class { public: template<typename T> operator T*()const { return 0; } template<typename T,class C> operator T C::*()const { return 0; } private: void operator&()const; }nullptr; 错误:template.cpp|24|error: uninitialized const 'nullptr'| ||=== Build finished: 1 errors, 0 warnings ===| 这是符合标准的用法吗? 我想知道是编译器的问题还是用法的问题
每天的悲剧 哎 if(iswalpha(L"人")) std::puts("u failed");
每天都有悲剧,喜剧呢? if(iswalpha(L"人")) std::cout<<"who is the idiot\n";
[H2O]数数今天写代码犯的,碰到的错误 1.全局变量初始化顺序不是确定的。 于是我两个相互依赖的全局变量就这么悲剧了。 2..h文件中不能放 类似 int i;之类的对象。 i在两个不同的.cpp文件中分别使用,但是却是使用的不同的变量。 3.A.h包含 B.h ,B.h 包含A.h A.h中的n个函数每个都出现了对应的 c++error [xxxx] expected. 4. unsigned int ui; char c; (ui&0xff)^c >256 ...符号扩展的悲剧。
delete的问题。 #include<iostream> #include<cstdlib> #include<typeinfo> using namespace std; class A { private : static int cnt; public: A(){cout<<++cnt<<endl;} ~A(){cout<<--cnt<<endl;} }; int A::cnt=0; void test() { A (*p)[2]=new A[2][2]; cout<<"["<<*((int *)p-1)<<"]"<<endl; cout<<typeid(*p).name()<<endl; delete p; // delete[] p; //是否加 []结果相同 } int main() { test(); } 按理说,delete p调用析构函数应该只一次,但 这种情况下却是 正确的4次析构。 求解原因。
请教关于指针回绕 求助关于指针回绕具体的原理,什么情况下可能出现指针回绕等。 @良化纲领_ @RichSelian @SergeiSobolev
大家看看这个类,谁有VC6.0以上的什么的,帮忙看看运行有问题吗 帮忙看看这个auto_ptr 是否正确。 display是我用来看运行状态的。 fun和主函数是我写 的。 总感觉 这个auto_ptr设计的有问题,但是现在没有 vc。 只有 C::B ,它这个debug貌似不给力。
内存池申请的内存如何释放 下面这个看起来是个内存池的程序。 将 小于 128bytes的 堆内存申请进行管理。 可是,我不知道在程序运行结束之前怎么释放 内存池进行管理的内存。 求解
求助,电脑故障。 前两天开始,电脑 会突然卡住不动,任何键没反应,只有关机。过了一天之后,这个卡主就会 间断性的出现,有时候开机 10分钟,有时候 1个小时。或者 5~6个小时之后出现。 关机之后 ,再开机,偶尔会出现 Decting Arrays... 。继续重启,重启,几次之后才能进入win xp界面。。。 开始怀疑是系统问题,于是 进入光盘上的win pe系统 备份部分c盘文件以便 重装。结果 win pe系统也卡主。。。 现已无解,求助。。。
new 和 delete重载。 rt。 有谁写过关于这两个运算符的6钟重载的好点的例子, 可以拿来观摩一下吗? 准备练练手的,结果想了半天,只能在重载里面加一些输入输出什么的, 然后还是全局new or delete。 或者,是弄成链表的样子,无趣。
template,,, template <class T> void print(list<T> v) { list<T>::iterator it; for(it=v.begin(); it!=v.end(); ++it) cout<<*it<<endl; } C::B &dev-cpp it' undeclared (first use this function) 2008通过。 求助,原因。
求个class的实现 rt: class A { }; int main() { A a; if(a) { //... } return 0; } 如何实现 A,使得 main中的if(a)编译无错误。 想了半天没懂怎么弄
一个小问题 如果有一个函数 void fun(char *str) { /* ... */ } 其中,字符串str是函数要输出的数据. 问题: 1.str的空间是应该在主函数里面申请释放? 比如: int main() { char *str=(int* )calloc(length,sizeof(char)); fun(str); free(str); } 2.还是在fun里面申请空间,在使用者在主函数里面释放:? 比如 void fun(char *str) { str=(int* )calloc(length,sizeof(char)); } int main() { char *str; fun(str); free(str); } //注:其中str的具体长度在fun里面才能得知,在主函数里面只能知道一个大概的范围。 //所以,在主函数里面申请的话,必定会浪费一些多余的空间 //不知道该选择那种方案了。
函数中申请 空间的问题。 如果有一个函数 void fun(char *str) { /* ... */ } 其中,字符串str是函数要输出的数据. 问题: 1.str的空间是应该在主函数里面申请释放? 比如: int main() { char *str=(int* )calloc(length,sizeof(char)); fun(str); //... free(str); } 2.还是在fun里面申请空间,在使用者在主函数里面释放:? 比如 void fun(char *str) { str=(int* )calloc(length,sizeof(char)); //... } int main() { char *str; fun(str); //... free(str); //... return 0; } //注:其中str的具体长度在fun里面才能得知,在主函数里面只能知道一个大概的范围。 //所以,在主函数里面申请的话,必定会浪费一些多余的空间 //不知道该选择那种方案了。
证明题一道,数学帝进 n个 正整数 . 先任取两个数出来 使之相乘然后+1得到一个新的数字,放入 n-2个数中间, ... 一直进行相同的操作,直到最后只有一个数为止。 问:1)如何取数,才能是最后的数 最大? 2)如何取数,才能使最后的数 最小? 并证明之. //大概的猜测 ,每次排序 取最小的两个相乘+1合并, 最后的数最大 //大概的猜测 ,每次排序 取最大的两个相乘+1合并, 最后的数最小
求助,关于模板的定义。 //刚刚发了的帖子貌似被吞了,重新简要的问一下 1.VC2008不支持关键字export吗,dev-c++4.9.9.2也不支持? 2.模板的定义和声明可以分开吗?就像普通函数那样,声明写在*.h,定义写在*.cpp
水平次了,抄书都抄不好。。。。。。 1>myExpression - 28 个错误,4 个警告 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== crazy~·!!!!!!!!!!!!!!!!!
class Point class Point { private: int xval,yval; public: Point(){}; ~Point(){} Point(int x,int y):xval(x),yval(y){} int x()const{return xval;} int y()const{return yval;} Point &x(int x){xval=x;return *this;} Point &y(int y){yval=y;return *this;} }; //这两个函数为什么要返回Point&,而不是void? Point &x(int x){xval=x;return *this;} Point &y(int y){yval=y;return *this;}
c++是反紧凑性的,这句话什么意思? 刚刚看到评论文章,上面说了这句话,迷惑不解。 望解答。
搜藏。。。 http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.verycd.com%2Ftopics%2F2788059%2F&urlrefer=5a31d6a332440598940356997cc57c4b
这种语句也属于++i+(++i)...之类的吗? 以下数据都是int; v[1]=t&0xff+((t>>8)&0xff)*10-528; 上面这条语句的输出结果一直是错的。 改成下面那样才对。。 temp=t&0xff-48; v[1]=temp+((((t&0xff00)>>8)-48)*10); 我已经晕了。。
今天碰到一个问题 VS2008编译,链接等键在哪里? 难道用命令行?
c程序1个,谁看的明白的给我讲讲原理。 size_t strlen1(const char *str) { const char *p = str; while(*p) p ++; return (size_t)(p - str); } size_t strlen2(const char *str) { unsigned v; const char *p = str; while(*p && ((unsigned)p & 3)) p ++; if (*p == 0) return (size_t)(p - str); for (v = 0; !v; p += 4) { v = (*(unsigned*)p - 0x01010101) & 0x80808080; if (v) v &= ~*(unsigned*)p; } for (; (v & 0xff) == 0; p ++) v >>= 8; return (size_t)(p - str - 4); } 注:第二个。
关于数组与指针的疑惑 #include<stdio.h> #include<stdlib.h> int main(void) { int a[10]; int *b=(int *)(&a+1); printf("the length is %d\n",b-a); system("pause"); return 0; } 运行结果:10; 类似的能不能推广到所有的数组(比如new的),或者写一个函数来返回数组长度。 PS:突然发现我对数组和指针,引用越来越糊涂了。
看了《知北游》的各位有人看过 萧天石 的作品吗? RT。
++i和i++有区别吗?(无聊了) 在单独的一行代码中。或者说,在不影响最终结果的时候 ++i;和i++;有区别吗? 我开始都用i++,后来觉得++i更好。 问下各位吧友,到底哪个好呢(希望附上理由,非猜测)?
求助关于ofstream重载<<运算符。 编译器:dev-cpp 部分程序如下:(其中,“<<”和“>>”中ostream等重载成功,就是ofstream失败,请高手指点) #include<iostream> #include<string> #include<fstream> using namespace std; class BigInt { private: char *str; int sign; enum{N=256}; public: BigInt(); ~BigInt(); BigInt(const char *s); BigInt(int a); BigInt(const BigInt &obj); friend istream &operator>>(istream&,BigInt&); friend ostream &operator<<(ostream &os,const BigInt &b); friend ifstream &operator>>(ifstream &fin,BigInt &b); friend ofstream &operator<<(ofstream &of,const BigInt &b); }; ostream &operator<<(ostream &os,const BigInt &b) { int i=0; while((b.str[i]==0)&&(i<b.N))i++; if(b.sign&&i!=b.N)os<<"-"; for(;i<b.N-1;i++) os<<int(b.str[i]); os<<int(b.str[b.N-1]); return os; } ofstream &operator<<(ofstream& of,const BigInt &b) { int i=0; while((b.str[i]==0)&&(i<b.N))i++; if(b.sign&&i!=b.N) of<<i; for(;i<b.N-1;i++) of<<int(b.str[i]); of<<int(b.str[b.N-1]); return of; }
1
下一页