标签: implementation

C++标头和实现文件:要包含哪些内容?

有.h文件和.cpp文件,名称相同但扩展名不同.

如果我想使用.cpp文件中的内容,是否要包含.h文件或.cpp文件?

c++ implementation header

4
推荐指数
1
解决办法
2万
查看次数

使用Ruby on Rails模块的建议

我正在使用Ruby on Rails 3,我知道在哪种情况下使用模块是好的.

我有一个控制器,包括我以这种方式使用的许多私有方法:

class UsersController < ApplicationController

  def update
    params[:option1] = get_user_option1
    params[:option2] = get_user_option2


    if params[:option2]
      params[:saving_success] = update_user
    end

    ...

    if params[:saving_success] 
      flash[:notice] = another_method_1
    else
      flash[:error] = another_method_2
    end
  end


    private

      def update_user
        if params[:option1] == something
          @user.save
        end
      end

      def another_method_1
        params[...] = ...
      ...
  end
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,在私有方法中,我有ActiveRecords和params方法之类的东西.我知道在模块中你不能直接使用那些ActiveRecordsparams方法,但你可以将它们作为参数传递,如下例所示:

# In the controller file
class UsersController < ApplicationController
  include Users

  def update
    params[:option] = "true"
    @users = Users.find(1) …
Run Code Online (Sandbox Code Playgroud)

ruby implementation module ruby-on-rails ruby-on-rails-3

4
推荐指数
1
解决办法
4291
查看次数

C头文件的实现?

我是学C语言,并通过一些头文件在Linux目录被偷看/usr/includestdio.h,stdlib.h等真正困扰着我的是我看到的所有功能与定义extern的关键字,这意味着它们只能被没有任何定义,例如声明:

extern FILE *fopen (__const char *__restrict __filename,
                    __const char *__restrict __modes) __wur;
Run Code Online (Sandbox Code Playgroud)

每个其他头文件中的每个其他函数也是如此.我的问题是,如果他们只被宣布在他们的实施的哪里?他们必须在某个地方实施吗?

c implementation header system file

4
推荐指数
3
解决办法
5358
查看次数

为什么边界检查没有在某些语言中实现?

根据维基百科(http://en.wikipedia.org/wiki/Buffer_overflow)

通常与缓冲区溢出相关的编程语言包括C和C++,它们不提供内置保护以防止访问或覆盖内存的任何部分中的数据,也不会自动检查写入数组的数据(内置缓冲区类型)是否在该数组的边界.边界检查可以防止缓冲区溢出.

那么,为什么'Bounds Checking'没有在C和C++等语言中实现呢?

implementation programming-languages buffer-overflow

4
推荐指数
1
解决办法
5650
查看次数

从单个char到指针的映射的Plain C实现

我有高级语言的编程经验,并且几周前开始使用普通C编码(出于学术原因).我想实现类似于的数据结构map<char,myStruct*>.

如果这还不够清楚:我希望将每个可能的SINGLE"映射" char到指向我在其他地方定义的结构的指针上.如果有一种方法可以确保没有2 char秒可以指向相同的struct(char在将新元素插入地图时不检查其他内容)那将是整洁的,但这不是绝对必要的.我还需要能够从地图中删除配对,并重新插入具有相同键但不同指针的配对.

我已经想到了这一点,并认为我可以创建一个指针数组所有可能的字符长度,并只使用char作为数组索引存储相应的指针(因为它只是一个数字常量).这可能非常有用,但如果我最终在我的应用程序中只使用几个字符,那么为地址分配那么多空间似乎效率低下.

尽管如此,我还是没有想到任何替代解决方案(考虑到我是C新手,不是那么令人惊讶).我会很感激任何,甚至模糊的建议,朝着正确的方向前进.

c implementation map

4
推荐指数
1
解决办法
2312
查看次数

实现文件系统的基础知识

我目前的操作系统课程项目是设计和实现一个基本的文件系统.我已经阅读了我们的书中有关文件系统的章节,但我迷失在哪里开始.我知道一些所需的结构(文件控制块,系统范围的打开文件表,每进程打开文件表,r + w缓冲区,目录结构),以及我需要支持的操作(打开,读取,写入,删除,创建,关闭).

我已经提供了10MB'驱动器'来实现内部的文件系统.任何有关资源或直接答案的帮助将不胜感激.

编辑:这是一个指向https://www.dropbox.com/s/971ec21u3yn62wz/Laboratory%20Project%204_5%20Creating%20a%20File%20System.pdf的链接

unix directory implementation system file

4
推荐指数
1
解决办法
2496
查看次数

c ++ - 应该在无指针类中声明/实现破坏吗?

是否应该在无指针类中声明/实现破坏?拥有/不拥有它有什么好处吗?

我的男人是:

class Point
{
public: 
    int X, Y;
    Point(int x, int y);
    //~Point(void);       //should I uncoment it and implement empty destructor ?
}
Run Code Online (Sandbox Code Playgroud)

c++ implementation

4
推荐指数
1
解决办法
100
查看次数

在头文件中定义并在cpp中实现的C++结构

当我在另一个类中使用它时,我如何确保我实现的某些颜色保持其价值?

struct.h

struct Color{
   unsigned char r;
   unsigned char g;
   unsigned char b;
};
Color someColor;
//if i define the color here it says...:
Color someColor = {255,255,255}; //error: data member inializer not allowed
Run Code Online (Sandbox Code Playgroud)

struct.cpp

struct::Color someColor = {255,255,255};
Run Code Online (Sandbox Code Playgroud)

someotherclass.cpp

struct *str = new struct();
str->someColor.r //is not the correct value /not set
Run Code Online (Sandbox Code Playgroud)

c++ implementation struct

4
推荐指数
1
解决办法
2万
查看次数

Prolog工具and / 2,or / 2,nand / 2,nor / 2,xor / 2

我想在序言中实现以下谓词并将它们用于真值表:and / 2或or / 2,nand / 2,nor / 2,xor / 2

也许有人可以向我展示如何实现and / 2,例如,我可以自己做其他人并将其发布在这里。

implementation prolog xor nor clpb

4
推荐指数
1
解决办法
6015
查看次数

为什么C ++支持带有实现的纯虚函数?

我今天做了一个简单的测试:

struct C{virtual void f()=0;};
void C::f(){printf("weird\n");}
Run Code Online (Sandbox Code Playgroud)

该程序还可以,但是对我来说很奇怪,当我们使用=0它时,意味着应该在继承的类中定义函数体,但是看来我仍然可以给它实现函数。

我尝试了GCC和VC,都可以。因此在我看来,这应该是C ++标准的一部分。

但是,为什么这不是语法错误?

我想到的一个原因是C#同时具有'interface'和'abstract'关键字,interface无法实现,而abstract可能具有某些实现。

令我感到困惑的是,C ++应该支持这种奇怪的语法吗?

c++ virtual implementation function

4
推荐指数
1
解决办法
2131
查看次数