Questions tagged «c++»

C ++是一种通用编程语言。它最初被设计为C的扩展,并且具有类似的语法,但是现在它是一种完全不同的语言。使用此标记可解决有关将要使用C ++编译器编译的代码的问题。对于与特定标准修订版[C ++ 11],[C ++ 14],[C ++ 17]或[C ++ 20]等相关的问题,请使用特定于版本的标记。

10
整数类型可以在C ++中存储什么值范围
可以unsigned long int在32位计算机上保留十位数字(1,000,000,000-9,999,999,999)吗? 此外,有什么的范围unsigned long int,long int,unsigned int,short int,short unsigned int,和int?
86 c++  int 

7
如何一次一行一行地读取整个文本文件?
我在一个介绍文件的教程中(如何读写文件) 首先,这不是家庭作业,这只是我寻求的一般帮助。 我知道如何一次阅读一个单词,但我不知道如何一次阅读一行或如何阅读整个文本文件。 如果我的文件包含1000个单词怎么办?阅读每个单词是不切实际的。 我的文本文件名为(读取)包含以下内容: 我喜欢玩游戏,喜欢阅读,我有两本书 到目前为止,这是我已经完成的工作: #include <iostream> #include <fstream> using namespace std; int main (){ ifstream inFile; inFile.open("Read.txt"); inFile >> 有没有可能一次读取整个文件的方法,而不是分别读取每一行或每个单词?

7
如何“取消使用”命名空间?
我的开发系统(Codegear C ++ Builder)的变化莫测之一是,某些自动生成的标头坚持要求... using namespace xyzzy ...其中的语句,当我最不想要或期望它时,这些语句会影响我的代码。 有没有一种方法可以某种方式取消/覆盖以前的“ using”语句来避免这种情况。 也许... unusing namespace xyzzy;

10
反转4x4矩阵
我正在寻找有关如何反转4x4矩阵的示例代码实现。我知道有高斯消除,LU分解等,但是我没有详细研究它们,而是寻找代码来完成此任务。 理想的语言是C ++,可以按列优先顺序将数据以16个浮点数的数组形式提供。


9
来自类的pthread函数
假设我有一个像 class c { // ... void *print(void *){ cout << "Hello"; } } 然后我有一个向量c vector<c> classes; pthread_t t1; classes.push_back(c()); classes.push_back(c()); 现在,我想在 c.print(); 以下是给我以下问题: pthread_create(&t1, NULL, &c[0].print, NULL); 错误输出:无法将参数'3'的'void *(tree_item :: )(void)'转换为'void *()(void)'到'int pthread_create(pthread_t *,const pthread_attr_t *,void *()(void),无效*)'
86 c++  pthreads 



7
为什么不应该用C / C ++编写Android应用程序,因为“您只喜欢用C / C ++编程”?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 更新(为清楚起见,以减少歧义): 我将开始修补android应用程序。我打算使用NDK用C ++编写C语言(因为我在C ++方面有更多的经验,并且喜欢Java),但是在Android NDK页面上遇到了以下内容: 仅当NDK对您的应用程序至关重要时,才应使用NDK-决不因为您只喜欢使用C / C ++进行编程。 我的印象是,只要适合您的工作,就应该使用自己喜欢的语言。有人可以解释为什么不建议在Android开发中使用C / C ++吗? 原版的: 我将开始研究移动应用程序,特别是android,这是我当前手机的操作系统,我想知道是否可以用C ++(或至少是核心,然后用Java包装)编写该应用程序。 在某些背景下,我是一名计算机科学专业的人,修过3门C ++课程(入门,中级,OOP,并在春季学习STL课程),而只修过1门Java课程(中级)。因此,我对C ++更加满意,并且更喜欢Java。我在Android NDK页面上遇到了以下内容: 通常,在Android上使用本机代码不会带来明显的性能改善,但始终会增加应用程序的复杂性。通常,仅应在对您的应用程序至关重要的情况下使用NDK,决不能使用NDK,因为绝对不要只喜欢使用C / C ++进行编程。 我的印象是,您应该使用适合您的语言以及您熟悉的语言 我可能想将应用程序移植到支持C ++但不支持Java的另一个移动平台(例如iOS)上 虽然Java是一种高级语言,因此应该使开发速度更快,但是我觉得开发会变慢,因为我将不得不重新学习几乎所有内容(因为我只学习了一种语言) 任何建议将不胜感激。 ps:关于这个问题的许多答案都来自几年前,并且很少有提及NDK的后续答案,因为它允许在android 2.3及更高版本上开发完整的本机应用程序。
86 java  android  c++ 

29
“做…当”与“当”
可能的重复项: While vs. While While 什么时候应该使用do-while而不是while循环? 我现在已经编程了一段时间(2年的工作+ 4.5年的学位+ 1年的大学预科),而且我从来没有使用过do-while循环,除非在编程入门课程中被迫这样做。如果我从未遇到过如此根本的事情,我会感到越来越错误。 难道我只是没有遇到正确的情况? 有哪些示例需要使用“做一会儿”而不是“一会儿”? (我的教育几乎都是用C / C ++进行的,而我的工作是使用C#的,因此,如果存在另一种语言绝对有意义,因为工作时间不同,那么这些问题就不适用了。) 为了澄清...我知道awhile和a之间的区别do-while。While检查退出条件,然后执行任务。do-while执行任务,然后检查退出条件。
86 c#  c++  c  while-loop  do-while 

3
重置字符串流
如何将字符串流的状态“重置”为创建时的状态? int firstValue = 1; int secondValue = 2; std::wstringstream ss; ss << "Hello: " << firstValue; std::wstring firstText(ss.str()); //print the value of firstText here //How do I "reset" the stringstream here? //I would like it behave as if I had created // stringstream ss2 and used it below. ss …

3
如何将std :: string写入文件?
我想std::string将用户接受的变量写到文件中。我尝试使用该write()方法并将其写入文件。但是,当我打开文件时,看到的是框而不是字符串。 该字符串只是一个可变长度的单词。是否std::string适合这个还是应该使用字符数组或东西。 ofstream write; std::string studentName, roll, studentPassword, filename; public: void studentRegister() { cout<<"Enter roll number"<<endl; cin>>roll; cout<<"Enter your name"<<endl; cin>>studentName; cout<<"Enter password"<<endl; cin>>studentPassword; filename = roll + ".txt"; write.open(filename.c_str(), ios::out | ios::binary); write.put(ch); write.seekp(3, ios::beg); write.write((char *)&studentPassword, sizeof(std::string)); write.close();` }
86 c++ 

7
参数前的const与函数名后的const c ++
这样的东西有什么区别 friend Circle copy(const Circle &); 像这样 friend Circle copy(Circle&) const; 在函数用于告诉编译器之后,我知道const,该函数将不会尝试更改被调用的对象,另一个函数呢?

5
了解C ++ 11中的std :: atomic :: compare_exchange_weak()
bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak()是C ++ 11中提供的比较交换原语之一。即使对象的值等于,它也返回false,这是弱的expected。这是由于在某些平台上使用了一系列指令(而不是x86上的指令)来实现它的虚假故障所致。在这样的平台上,上下文切换,另一个线程重新加载相同的地址(或缓存行)等可能会使原语失败。这是spurious因为它不是所述对象(不等于的值expected失败的操作)。相反,这是一种时间问题。 但令我感到困惑的是C ++ 11标准(ISO / IEC 14882)中所说的内容, 29.6.5 ..伪失败的后果是几乎所有弱比较和交换的使用都将循环。 为什么几乎在所有用途中它都必须处于循环状态?这是否意味着我们会在由于虚假故障而失败时循环?如果是这样,为什么我们还要compare_exchange_weak()自己动手使用和编写循环?我们可以使用compare_exchange_strong()我认为应该为我们消除虚假故障的方法。常见的用例是compare_exchange_weak()什么? 另一个问题有关。安东尼在他的《行动中的C ++并发性》一书中说: //Because compare_exchange_weak() can fail spuriously, it must typically //be used in a loop: bool expected=false; extern atomic<bool> b; // set somewhere else while(!b.compare_exchange_weak(expected,true) && !expected); //In this case, you …

5
与Swift中的C ++类进行交互
我有一个大量的用C ++编写的类库。我正在尝试通过Swift中的某种桥接来使用它们,而不是将它们重写为Swift代码。主要动机是C ++代码表示一个在多个平台上使用的核心库。实际上,我只是在创建一个基于Swift的UI,以允许核心功能在OS X下工作。 还有其他问题,“如何从Swift调用C ++函数”。这不是我的问题。要桥接到C ++函数,以下工作正常: 通过“ C”定义桥接头 #ifndef ImageReader_hpp #define ImageReader_hpp #ifdef __cplusplus extern "C" { #endif const char *hexdump(char *filename); const char *imageType(char *filename); #ifdef __cplusplus } #endif #endif /* ImageReader_hpp */ Swift代码现在可以直接调用函数 let type = String.fromCString(imageType(filename)) let dump = String.fromCString(hexdump(filename)) 我的问题更具体。如何在Swift中实例化和操作C ++类?我似乎找不到任何发布的内容。
86 c++  swift 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.